#--------------------------------------环境(start)--------------------------------------------------------------

ubuntu19.10

hbase2.2.4

hadoop3.2.1

zookeeper

不使用hbase自带的zookeeper,有个麻烦的地方,就是自带的zookeeper没有zkCli.sh文件,可以借助独立的zookeeper中的

$ZOOKEEPER/bin/zkCli.sh的作用

#--------------------------------------环境(end)--------------------------------------------------------------

#--------------------------------------问题复现(start)--------------------------------------

网上很多博客搭建完zookeeper和hbase集群后只是进行了status和ls命令,这样根本没法发现这个错误,

这个错误最要命的地方就是写入的时候才会触发,运气不好的,status和ls命令也会触发。

问题复现:

hbase(main):001:0> create 't1', {NAME => 'f1', VERSIONS => 5}

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2821)
    at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2028)
    at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:659)
    at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)

意外发现也可以在web ui中发现:

既然在HBCK report中出现,那猜测和HBCK这个东西相关。

这个问题的原因非常多,需要一个个排查各种方案进行尝试。

#--------------------------------------问题复现(end)--------------------------------------

#--------------------------------------网上现有的方案(开始)--------------------------------------------------------------

①hbase-site.xml中尤其是ip和端口要仔细检查,不要冲突了(尤其是搞伪分布式的)

②$HBASE_HOME/logs中确保各个文件没有报错,如果是下面这种,则可以忽略

INFO  [main-SendThread(Laptop:2182)] zookeeper.ClientCnxn: Opening socket connection to server Laptop/192.168.0.102:2182. Will not attempt to authenticate using SASL (unknown error)

/home/appleyuchi/bigdata/hadoop-3.2.1/logs这个路径下查看下log

④集群中某个节点的时间与其他主机不同步,关闭集群防火墙,hbase-site.xml中参数hbase.rootdir使用hdfs协议

⑤进入zookeeper的shell模式然后deleteall /hbase

-----------------------------------------------网上现有的方案(结束)----------------------------------------------------------------

网上所有方案尝试失败,于是开始了艰难又辛酸的排查过程。。。。(呜呜呜呜~~~)

因为web UI中的hbck report中报告了该错误,所以猜测和hbck相关。

命令行输入hbase hbck

2020-05-20 11:08:46,047 INFO  [main] client.RpcRetryingCallerImpl: Call exception, tries=6, retries=16, started=4214 ms ago, cancelled=false, msg=org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

$HBASE_HOME/logs/hbase-appleyuchi-zookeeper-Desktop.out得到:

java.io.IOException: Could not find my address: Desktop in list of ZooKeeper quorum servers

hbase-env.sh中修改为:

export HBASE_MANAGES_ZK=false

最終解決方案:

hadoop3.2.1改成3.1.2,配合hbase2.2.4即可。

再次hbase shell,可以顺利新建数据表了

問題解決了,没事真的别去尝试最新的版本。

------------------------------------------------排查过程中碰到的常见问题(start)---------------------------------------------------------

问题一:

当①②确保没有,那么这个时候,报错的源头就在③中了,根据③我们得到:

hadoop-appleyuchi-namenode-Desktop.log:org.apache.hadoop.fs.PathIsNotEmptyDirectoryException: `/hbase/WALs/desktop,16020,1589718585850-splitting is non empty': Directory is not empty

解决方案:

①hdfs dfs -rm -r /hbase/WALs/*

②关闭hbase

③关闭hdfs

④启动hdfs

⑤关闭hdfs安全模式

⑥启动hbase

⑦得到新的报错:

java.io.FileNotFoundException: File does not exist: /hbase/WALs/

重复②-⑥可以让该报错消失。

问题二:

运行本文开头的语句得到:

hbase(main):004:0* create 't1', {NAME => 'f1', VERSIONS => 5}

ERROR: KeeperErrorCode = NoNode for /hbase/master

找到zoo.cfg中的下面两行

dataDir=/home/appleyuchi/dfs/zookeeper/data
dataLogDir=/home/appleyuchi/dfs/zookeeper/log

然后删除上述两个路径下面的version-2文件夹

------------------------------------------------排查过程中碰到的常见问题(end)---------------------------------------------------------------------

-----------------------------------------------------hbase和hadoop兼容版本(start)-------------------------------------------------------------

-------------------------------------------------hbase和hadoop兼容版本(end)---------------------------------------------------------------------------------

Reference:

[1]hbase操作(shell 命令,如建表,清空表,增删改查)以及 hbase表存储结构和原理

[2]HBase hbck——检察HBase集群的一致性

[3]Apache HBase ™ Reference Guide

org.apache.hadoop.hbase.PleaseHoldException: Master is initializing(解決方案汇总+自己摸索)相关推荐

  1. ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 解决方案

    ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 解决方案 参考文章: (1)ERROR:org.ap ...

  2. ERROR: org.apache.hadoop.hbase.PleaseHoldException:Master is initializing

    http://blog.csdn.net/wuzhilon88/article/details/18408149 今天想操作HBase的CRUD,启动HBase没有问题,但是使用hbase shell ...

  3. hbase报错:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

    报错 hbase(main):002:0> status 1 active master, 0 backup masters, 2 servers, 0 dead, 0.0000 average ...

  4. 记录Hbase bug——org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

    今天在作为分布式hbase数据库创建时,碰见了一个很棘手的问题: 随后查看master的日志文件: 网上搜了很多没有一个合适我的,因为我用的是hbase自带的zookeeper,而不是网上大多数人自己 ...

  5. hbase出现org.apache.hadoop.hbase.PleaseHoldException: Master is initializing错误解决

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/luoye4321/article/det ...

  6. HBASE启动失败,Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster

    Master日志错误: 2015-12-02 06:34:32,394 ERROR [main] master.HMasterCommandLine: Master exiting java.lang ...

  7. org.apache.hadoop.hbase.ClockOutOfSyncException

    如果集群节点的系统时间和master的时间不一致的话,从节点启动不起来,报错如下: org.apache.hadoop.hbase.ClockOutOfSyncException: org.apach ...

  8. 解决Hbase输入list,创建表报错,输入status可以,org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: S

    今天恢复了一下快照,然后hbase出现了问题 2019-08-25 00:59:55,810 INFO [RpcServer.default.FPBQ.Fifo.handler=28,queue=1, ...

  9. 【异常】org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:

    [异常]org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions: ...

最新文章

  1. 人工智能:主导下一轮科技创新红利
  2. data.DataLoader 数据丢失 不能复用
  3. 【jQuery】选择器
  4. 算法学习:后缀数组 height的求取
  5. Java提高——多线程(二)join、sleep、yield
  6. Django forms组件
  7. 基于swiper和Less的小米商城
  8. thinkphp5.0验证码使用
  9. 二级c语言统计小于n素数的个数,关于求N以内素数的一点小问题(N小于一亿)...
  10. 网络***检查分析---破解安全隐患问题回答
  11. 学习进度(2016.4.10)
  12. 范文杰 201421410010 作业2
  13. 纯前端播放文件流视频并预览并截取视频第一帧
  14. STM32驱动_LCD1602
  15. 网易云linux版是什么格式,网易云音乐发布Linux版本
  16. 李华《灵武二孝赞并序》中之“灵武”系指何地?
  17. 广州电子路考视频发布 2014广州电子路考考点
  18. python绘制中国_如何用Python画一个中国地图?
  19. 对于初学者的JavaScript 教程
  20. 地坤诀中所记录的第二元婴的炼制办法与其余的炼制方式不一样

热门文章

  1. 数据级并行--计算机体系结构
  2. 简单理解Tomasulo算法与重加载缓冲区
  3. eclipse-jee版连接tomcat(转载)
  4. echarts中x轴文字过长换行处理和倾斜处理。
  5. 关于浮点型加减乘除运算不精确的问题
  6. Linux云服务器安装JDK1.8
  7. python seaborn 热图_Python-Seaborn热图绘制的实现方法
  8. MySQL Sandbox---快速体验各版本MySQL
  9. 利用位运算解决 N 皇后问题
  10. 漫画|你还记得原生的JDBC怎么连接数据库吗?