1. 程式人生 > >HBase 叢集搭建和高可用配置

HBase 叢集搭建和高可用配置

HBase叢集建立在hadoop叢集基礎之上,所以在搭建HBase叢集之前需要把Hadoop叢集搭建起來,並且要考慮二者的相容性.現在就以3臺機器為例,搭建一個簡單的叢集.

1.進入hbase的配置目錄,在hbase-env.sh檔案裡面加入java環境變數.即:

JAVA_HOME=export JAVA_HOME=/opt/jdk1.8.0_121

關閉HBase自帶的Zookeeper,使用Zookeeper叢集:

export  HBASE_MANAGES_ZK=false  

2. 編輯hbase-site.xml ,新增配置檔案:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://c7001:8020/hbase</value> 
  </property> 
  <property> 
    <name>hbase.cluster.distributed</name> 
    <value>true</value> 
  </property> 
  <property> 
    <name>hbase.zookeeper.quorum</name> 
    <value>c7003,c7004,c7005</value> 
  </property> 
  <property> 
    <name>hbase.zookeeper.property.dataDir</name> 
    <value>/opt/hbase-1.3.0/tmp/zk/data</value> 
  </property>
</configuration>

3. 編輯配置目錄下面的檔案regionservers. 命令:

vi   regionservers    

加入如下內容:

node2
node3

在node1機器開啟hbase服務。命令如下:

$ bin/start-hbase.sh   

Hbase高可用配置

<property>
<name>hbase.master</name>
<value>60000</value><!--這裡注意了,只需埠即可,不必再寫主機名稱了!-->
</property>

在node2機器上 啟動HMaster

hbase的log中可以看到

2015-08-07 14:00:14,765 INFO  [hadoop002:60000.activeMasterManager] master.ActiveMasterManager: Another master is the active master, hadoop001,60000,1438927191790; waiting to become the next active master

這樣就可以判斷哪臺是Active了