hbase1.2.3+zookeeper3.4.9+hadoop2.7.3完全分散式部署遇到的問題
啟動start-hbase.sh 後hbase沒有啟動
檢視日誌如下:
ERROR [main] master.HMasterCommandLine: Master exiting
java.io.IOException: Could not start ZK with 3 ZK servers in local mode deployment. Aborting as clients (e.g. shell) will not be able to find this ZK quorum.at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:173)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:137)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2436)
Fri Jan 13 09:46:28 UTC 2017 Starting master on hd1
如果部署獨立zookeeper的hbase 需要設定如下:
1、 hbase-env.sh 中修改
export HBASE_MANAGES_ZK=false #獨立hbase自帶的zookeeper
2、hbase-site.xml修改
<property>
<name>hbase.rootdir</name>
<value>hdfs://hd1:9000/hbase</value> #與hadoop 的core-site.xml 的主機號和埠號一致
</property>
<property>
<name>hbase.cluster.distributed</name> #踩坑處 :把hbase.cluster.distributed拼寫錯誤導致該屬性沒有起作用。
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>hd1:60000</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name> #zookeeper參與競選伺服器
<value>hd1,hd2,hd3</value>
</property>
3、regionservers修改
把regionserver 所部署的機器主機名配置到該檔案
如:
[[email protected] conf]$ cat regionservers
hd2
hd3
hd4