我在配置伪分布式的hbase时(使用自带的zookeeper),启动hbase shell后报错NoNode for /hbase/master,查看日志文件发现报错Master exiting、Master is initializing。jps查看后发现HMaster和HRegionServer节点都挂了!
尝试了网上的各种办法,包括:
①修改hbase-site.xml中的端口号和hadoop配置目录下core-site.xml中的端口号一致
②设置时间同步,各种修改hbase-site.xml
③重新格式化hadoop,删除hdfs中的hbase目录
都不可以!!!困扰了我好几天,后来尝试不用自带的zookeeper,配置独立的zookeeper,发现问题解决!!!所以各位小伙伴最好不要用自带的zookeeper,因为你后面用kafka等工具时还是会用到zookeeper。
一、zookeeper下载
Index of /dist/zookeeper
下载完成后上传到虚拟机
#解压
tar -axvf zookeeper-3.4.14.tar.gz
#改名
mv zookeeper-3.4.14/ zookeeper
二、配置(单机部署)
1、建立存储数据的文件夹
cd zookeeper
mkdir zkdata
2、修改配置文件
cd conf/
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改:dataDir=/usr/Java/zookeeper/zkData
3、启动
在bin目录下输入:
./zkServer.sh start
三、修改hbase中的配置文件
1、修改hbase-site.xml
添加如下内容:
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/Java/zookeeper/zkData</value>
</property>
下面是我hbase-site.xml中的内容,仅供参考:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.175.130:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/Java/zookeeper/zkData</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.coprocessor.abortonerror</name>
<value>false</value>
</property>
</configuration>
2、修改hbase-env.sh
禁止hbase使用自带的zookeeper
export HBASE_MANAGES_ZK=flase
然后就可以正常使用hbase啦!
版权归原作者 美丽的樱桃裙 所有, 如有侵权,请联系我们删除。