解决由于HMaster启动报错导致hbase shell 进行操作报错的问题

hbase shell 进行list、scan等操作报错,一系列解决方案

报错信息:ERROR: Can’t get master address from ZooKeeper; znode data == null
在网上找的解决方案:
先把zookeeper、hbase、Hadoop全停止,按顺序先重启hadoop,再启动zookeeper,再启动集群,
最后启动Hbase时,首先启动HRegionserver,然后再启动HMaster
发现依然报错。

发现HMaster在启动一段时间后自动停止并报错

查看hbase目录下log目录下master的日志信息,发现报错
这里插入图片描述
发现关键信息:
在这里插入图片描述
[hdfs://hadoop62:9000/hbase098/WALs/hadoop64,60020,1618906454340-splitting]

发现hadoop中 磁盘文件目录下 /hbase098/WALs/可能有一个hadoop64-splitting文件。
WALs这个文件夹中存放着hbase在hdfs上的日志,而splitting这个日志是切割文件中途的日志,如果存在这个日志说明之前有过hbase集群中某个服务器hbase出现异常,在非正常情况下中断了,这时候一操作hbase就会去读取这个中断状态的文件,但是读取和当前不匹配就出现异常,HMaster就会消失。

解决办法

查看发现确实有一个hadoop64子节点的-splitting文件
hadoop fs -du /hbase098/WALs/ —查看hdfs文件目录
执行下面命令,删除splitting文件:
hadoop fs -rmr /hbase098/WALs/*-splitting

问题解决!HMaster不再出现一段时间后停止,当然我的情况不一定适用于所有这种情况,也有可能是zookeeper集群的问题,具体要看log是否有报错,有别的情况或者发现问题,欢迎在评论区提议,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值