Hbase1.0伪分布式集群启动失败问题
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl/p/7340681.html 转载请注明出处
最近抽空折腾自己的虚拟机环境时启动伪分布式Hbase集群一直失败,使用的Hbase版本为Apache Hbase1.0,解决过程如下
发现问题
经过仔细观察日志,发现Hbase启动的时候会报错"the hostname of regionserver cannot be set to localhost"此时HMaster进程或者HReigonserver进程启动失败,如下截图
排查问题
首先仔细检查hbase-site.xml配置如下
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://spark1:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>spark1</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/modelData/hbaseData/zkData</value>
</property>
zookeeper也正常启动中,Hbase的配置也没问题,进程就是无法启动,怀疑是Hbase问题,搜索资料时发现如下提示
In hbase 1.0, You can not add master as region server.
这篇帖子的意思其实就是说Hbase1.0不支持在同一个节点上同时启动HMaster和HRegionServer进程,MyGod!!
解决问题
更换Hbase版本为Hbase1.2.6,将Hbase1.0相同的hbase-env.sh和hbase-site.xml配置拷贝到1.2.6下,启动Hbase集群成功
进程如下,测试hbase shell建表没有问题.