背景:三台阿里云Ubuntu服务器,Hadoop(2.6.5)完全分布式搭建,Zookeeper(3.4.10),HBase(1.2.6)
问题:
1、Hadoop、Zookeeper、HBase按顺序依次正常启动,但是进入HBase shell之后,执行任何命令都会报错:
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
或者
ERROR: Can't get master address from ZooKeeper; znode data == null
2、当使用stop-hbase.sh
的时候,HRegionserver无法正常关闭
3、HMaster进程启动之后过几分钟之后就会自动退出
Master | Slave1 | Slave2 | |
---|---|---|---|
Master | 内网IP | 外网IP | 外网IP |
Slave1 | 外网IP | 内网IP | 内网IP |
Slave2 | 外网IP | 内网IP | 内网IP |
解决办法:
问题虽然体现在了HBase shell上,但是本质问题出现在Hadoop集群没有联结好
1、阿里云服务器有安全组策略,三台机器,出方向和入方向要互通
2、修改hosts文件的Master和Slave的ip
Master | Slave1 | Slave2 | |
---|---|---|---|
Master | 内网IP | 外网IP | 外网IP |
Slave1 | 外网IP | 内网IP | 内网IP |
Slave2 | 外网IP | 内网IP | 内网IP |