我的Hadoop版本:hadoop-3.1.3
我的Hbase版本:hbase-2.2.3
Hadoop3以前HMaster总是掉的原因有:
1、集群时间不同步
2、zookeeper没启动或有问题
3、hdfs和hbase的端口设置不一样
4、zookeeper /hbase 节点的历史数据不匹配
第四点操作步骤:
1、进入zookeeper的bin目录:cd /zookeeper/bin
2、执行脚本:$sh zkCli.sh
3、查看:ls /
4、删除:rmr /hbase
5、退出:quit
6、重启zookeeper:
zkServer.sh stop
zkServer.sh start
如果你的集群时间同步并且zookeeper没有问题的话,或许可以试试在:
hbase/conf/hbase-site.xml
这个文件中添加:
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
配置文件中的hbase.rootdir的端口号记得要和你的
hadoop/etc/hadoop/core-site.xml
这个配置文件中的端口号相同
我的hbase-site.xml配置文件:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>master:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper/data</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>