前面咱們已經配置過了僞分佈式的HBase集羣,主要是爲了學習方便,若是咱們有條件或者要上在測試環境搭建集羣咱們確定不能搭一個僞分佈式的集羣了事吧。這篇文章咱們就來看一下如何搭建徹底分佈式的HBase集羣。node
咱們搭建徹底分佈式HBase集羣的前提是:bash
Zookeeper集羣正常分佈式
Hadoop集羣正常oop
其中Zookeeper集羣的配置和Hadoop集羣的配置 咱們前面也有講過,你們能夠參考一下。學習
HBase的分佈式集羣配置也很是簡單,修改hbase-site.xml與regionservers文件便可。你們能夠查看官方示例。測試
假設咱們有五臺機器,分別爲namenode-1,namenode-2,datanode-1,datanode-2,datanode-3。在這五臺機器上配置了高可用的hadoop集羣。cdn
同時在datanode1,2,3上面部署了zookeeper集羣。server
咱們現須要將HBase集羣進行安裝部署,datanode1,2,3爲RegionServer,namenode-1爲HMaster。那麼咱們的集羣應該如何配置呢?xml
HBase的hbase-env.sh內的配置你們參考前面HBase僞分佈式集羣文章,而且將hadoop的hdfs-site.xml和core-site.xml拷貝到hbase的conf目錄。咱們主要看一下hbase-site.xml的配置。blog
configuration
!-- hbase 在hdfs的root目錄 --
property
namehbase.rootdir/name
valuehdfs://clustername/hbase/value
/property
!-- hbase 是否爲分佈式 --
property
namehbase.cluster.distributed/name
valuetrue/value
/property
!-- hbase zookeeper集羣相關配置 --
property
namehbase.zookeeper.quorum/name
valuedatanode-1:2181,datanode-2:2181,datanode-3:2181/value
/property
property
namehbase.tmp.dir/name
value/home/hadoop/hbase-1.2.4/tmp/value
/property
/configuration
你們能夠看到,hbase-site.xml跟以前的配置大同小異。而後咱們修改regionservers文件(至關於hadoop的slaves文件)
datanode-1
datanode-2
datanode-3
而後咱們在namenode上啓動hbase便可:
bash start-hbase.sh
咱們在哪臺機器上啓動HBase,哪臺機器節點就是HMaster,若是咱們須要額外啓動其餘master怎麼辦呢?
bash hbase-daemon.sh start master
注:本文介紹的相關配置均爲最小配置,其餘你們能夠訪問HBase官網查看詳細內容。