当前位置:   article > 正文

HBASE 使用出现的问题集合 注明:本人不是很会_hbase常见问题

hbase常见问题

hbase 启动成功,但是某一节点warn

Master is initializing
2019-09-02 09:43:28,537 WARN [master/s128:16000:becomeActiveMaster] 
master.HMaster: hbase:meta,,1.1588230740 is NOT online;
state={1588230740 state=OPEN, ts=1567388594985, server=s130,16020,1567155264196}; ServerCrashProcedures=true. 
Master startup cannot progress, in holding-pattern until region onlined.
  • 1
  • 2
  • 3
  • 4
  • 5

master.HMaster: ***** ABORTING master h2,16000,1662687222683: Unhandled exce
zookeeper删除hbase
rmr /hbase

hbase连接被拒绝


java.net.ConnectException: Call From node101/192.168.100.101 to node101:9000 failed on connection e
xception: java.net.ConnectException: Connection refused;
  • 1
  • 2
  • 3

hadoop nameNode 启动失败
需要格式化namenode
hdfs namenode -format
集群每个机器都需要执行格式化(如果都变化了)

Failed construction RegionServer

regionserver.HRegionServer: Failed construction RegionServer
org.apache.hadoop.hbase.ZooKeeperConnectionException: master:160000x0, quorum=h1:2181,h2:2181,h3:2181, baseZNode=/hbase Unexpected KeeperException creating base node
  • 1
  • 2

重启zookeeper

Waiting for dfs to exit safe mode…

hbase_异常_04_util.FSUtils: Waiting for dfs to exit safe mode...
  • 1

原来是Hadoop在刚启动的时候,还处在安全模式造成的。
hadoop dfsadmin -safemode 命令参数说明:

  • enter - 进入安全模式
  • leave - 强制NameNode离开安全模式
  • get - 返回安全模式是否开启的信息
  • wait - 等待,一直到安全模式结束。

真正的原因是hbase没有真正关闭。
正确的关闭步骤:
(1) 先关闭hadoop,
(2) kill -9杀掉顽固进程
(3) 关闭 hbase

chown: changing ownership of ‘/var/lib/mysql/’: Permission denied

原因:在未关闭selinux时输入创建docker容器命令
思路:映射时宿主机的地址为/etc/mysql,容器的地址为/var/lib/mysql,报错情况显示的是对于docker容器里面的/var/lib/mysql没有读写操作权限,是由于在这个mysql容器中,它的所有者是mysql,而我们使用的docker run命令的在宿主机上操作的是root用户,而在docker容器里面宿主机的root用户只是相当于普通用户,而没有root用户的那种权限。
解决方法:

  1. 在使用docker run命令的时候将“–privileged=true” 这个参数添加

注意:docker有比较强的命令规范性
只能将–privileged=true这个参数写在拉取镜像前面即 -d 前面

  1. 修改/etc/selinux/config文件中的SELINUX=“” 为 disabled ,然后重启。

不想重启就使用这条命令
setenforce 0
或者使用命令
sed -i ‘s/enforcing/disabled/’ /etc/selinux/config
再使用命令
setenforce 0

做端口映射报错

(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination
  • 1

原因:多次重启容器 / 网络问题
重启docker服务

HBase管理与监控——彻底删除HBase数据

1、hadoop的bin目录下,执行命令以下命令清除Hbase数据hadoop fs -rm -r /hbase
2、连接ZK,执行以下命令清除Hbase数据rmr /hbase
3、重启ZK、重启hadoop(hdfs、yarn)、重启hbase

concurrent.DefaultPromise: An exception was thrown by org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper$4.operationComplete()

原因:
WAL(Write-Ahead-Log)需要指定写入模式(WALFactory),有defaultProvider、asyncfs、filesystem、multiwal四种选项。
https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.html
解决方法:
在hbase-site.xml文件添加属性
vim /hbase/conf/hbase-site.xml
添加以下内容:

<property>
  <name>hbase.wal.provider</name>
  <value>filesystem</value> <!--也可以用multiwal-->
</property>
  • 1
  • 2
  • 3
  • 4

情况二:
WARN [RS-EventLoopGroup-1-1] concurrent.DefaultPromise: An exception was thrown by
org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper$4.operationComplete()
java.lang.IllegalArgumentException: object is not an instance of declaring class

  • 其中的1-1也可能是其它数值

原因和解决方法:
只启动成功了Master(HMaster)和部分RegionServer,有1个或多个RegionServer没启动成功。
有可能是以下错误(解决方法也在里面):
https://www.cnblogs.com/live41/p/15497022.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/634183
推荐阅读
相关标签
  

闽ICP备14008679号