HBase 高可用(HA)

來源:互聯網
上載者:User

標籤:

HMaster沒有單點問題,HBase中可以啟動多個HMaster,通過Zookeeper的Master Election機制保證總有一個Master運行。

所以這裡要配置HBase高可用的話,只需要啟動兩個HMaster,讓Zookeeper自己去選擇一個Master Acitve。

HBase配置:

在$HBASE_HOME/conf目錄下

1.hbase-site.xml 

export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"export JAVA_HOME=/usr/java/jdk1.7.0_60 export HBASE_MANAGES_ZK=falseexport HADOOP_HOME=/data/hadoop-2.6.0export HBASE_LOG_DIR=/data/hadoop/hbase/logs

一個分布式啟動並執行Hbase依賴一個zookeeper叢集。所有的節點和用戶端都必須能夠訪問zookeeper。預設的情況下Hbase會管理一個zookeep叢集。這個叢集會隨著Hbase的啟動而啟動。當然,你也可以自己管理一個zookeeper叢集,但需要配置Hbase。你需要修改HBASE_MANAGES_ZK 來切換。這個值預設是true的,作用是讓Hbase啟動的時候同時也啟動zookeeper.

讓Hbase使用一個現有的不被Hbase託管的Zookeep叢集,需要設定 HBASE_MANAGES_ZK 屬性為 false

 

2.hbase-site.xml

<configuration><property><name>hbase.rootdir</name><value>hdfs://appcluster/hbase</value><description>The directory shared by RegionServers.</description></property><property><name>hbase.master</name><value>60000</value><!--這裡注意了,只需連接埠即可,不必再寫主機名稱了!--></property><property><name>hbase.zookeeper.quorum</name><value>hadoop001,hadoop002,hadoop003</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>/data/hadoop/zookeeper</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.tmp.dir</name><value>/data/hadoop/hbase/tmp</value></property></configuration>

 

3.regionservers

添加regionserver的hostname

 

HBase啟動:

在hadoop001上輸入啟動命令

start-hbase.sh

jps可見:

master (因為之前啟動了Hadoop HA,所以會看到很多進程)

23703 NameNode23968 ResourceManager24132 DFSZKFailoverController23813 DataNode24857 HRegionServer24723 HMaster23428 QuorumPeerMain23522 JournalNode25448 Jps24070 NodeManager

regionserver

9832 HRegionServer8923 QuorumPeerMain9379 NodeManager10495 Jps9197 DataNode9622 ResourceManager9006 JournalNode10436 NameNode9552 DFSZKFailoverController

在某regionserver上啟動Hmaster

hbase-daemon.sh start master

jps:

9832 HRegionServer8923 QuorumPeerMain9379 NodeManager10495 Jps9197 DataNode9622 ResourceManager9006 JournalNode10005 HMaster10436 NameNode9552 DFSZKFailoverController

這個時候就可以看到HMaster啟動了。

如何區分哪個是Active哪個是standby呢,看log

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了

HBase 高可用(HA)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.