β

HBase集群部署排错

./Lu 15 阅读

regionserver.HRegionServer: error telling master we are up

查了资料和源码,是DNS misconfiguration。一开始就看到log里面提示说可能是dns misconfiguration,但有点不太相信,因为我hbase.rootdir和hbase.zookeeper.quorum里面用到的host names都是加进/etc/hosts里面的,没有理由连不到,所以花了很多时间去排别的错。试了不用host names,用IP也不可以。最终发现还真的是DNS问题,HBase是直接用DNS解析的,不会用到/etc/hosts,另外出错之后的行为是把localhost当做master去连接,这个也很误导排错,会让人以为是regionserver的配置有问题,需要告诉regionserver哪台是master。

所以

  1. 不能使用IP地址
  2. 不能使用/etc/hosts中指定的host names
  3. 一定要加入DNS

Error: Could not find or load main class

直接把整个HBase文件夹scp到slave上之后运行报这个错,确认了HBASE_HOME配置无误之后,看起来应该是没有安装好,mvn install即可,看来hbase的class是放在系统中共用的。


ERROR: Can’t get master address from ZooKeeper; znode data == null

在master中添加hbase.zookeeper.quorum即可。一开始为了排错在regionserver上配置了这个值的,但是master上没有,就会报这个错,看来master和regionserver的配置应该是同步的才行。

作者:./Lu
Better now than later.Better late than never.
原文地址:HBase集群部署排错, 感谢原作者分享。

发表评论