HBase高可用集群踩坑总结
最近在搭建HBase的高可用集群,看似不复杂的事情,前前后后在HMaster启动后会自动关闭(Master is initializing) 这件事上处理了好久。
究其原因一个是HBase集群中会出现的问题比较多,问题堆在一起的时候,刚开始接触HBase的朋友确不容易发现真正的问题在哪里,还有就是自己还是有点懒了,没有好好地去读官方的说明文档,其实官网上对一些参数的配置讲解的还是比较详细的。
下面总结一下这几天从入门到放弃到搭建成功踩过的一些坑。
注意: 我的这些方法比较适用于集群中数据没那么重要的情况,或者说更多适用于一开始搭建的集群,对于里面有重要数据的集群,要特别小心里面一些对数据的删除和初始化操作。
坑一:
高可用的hadoop中,rootidr的值没有设置成和hdfs-site.xml中的nameservices的值一致
报错:
这个我一开始就配置上了,所以不太清楚log会报什么错,但是具体体现一般就是集群无法正常启动,HMaster启动几秒就关掉了
解决方法如上所说:
将hbase-site.xml 中 hbase:rootdir这里 中间的名字不要端口号,并且改为和hdfs-site.xml中一致,比如我这里原来是Master1:9000 因为用的是 HA Hadoop所以改为 hadoop zookeeper集群的id myhadoop同hdfs-site.xml一致
<property>
<name>hbase.rootdir</name>
<value>hdfs://myhadoop/hbase</value>
</property>
坑二:
现象同解决方法:
etc/hadoop中的hdfs-site.xml和core-site.xml没有放到hbase/conf里,放入即可
报错同坑一
坑三:
现象以及报错:
master.HMaster: Failed to become active master
java.io.IOException: error or interrupted while splitting logs in [hdfs://myhadoop/hbase/WALs/slave2,16020,1589941799393-splitting] Task = installed = 1 done = 0 error = 1
解决方法:这个是由于之前异常退出的时候残留的WALs里的文件,导致的错误,可以用命令
hdfs dfs -rm -r /hbase/WALs/*
将里面的文件删除或者如果有重要文件不能随便删除,可以删除后缀带splitting的文件,有重要文件的朋友,慎重删除文件,或者最好备份
坑四:
报错及现象:
zookeeper.MetaTableLocator: Failed verification of hbase:meta,1 at address=slave2,16020,1589941799393, exception=org.apache.hadoop.hbase.NotServingRegionException: Region hbase:meta,1 is not online on slave2,16020,1589945926942
这个是由于异常退出的时候zookeeper集群里的残留文件导致的错误,解决方法就是 到zookeeper的bin下面 启动 zkServer.sh

本文分享了在搭建HBase高可用集群过程中遇到的常见问题及解决方案,包括HMaster频繁重启、配置文件同步、WALs清理、Zookeeper状态验证等关键步骤,为初学者提供实用指导。
最低0.47元/天 解锁文章
2904





