網上大部分安裝介紹都是基於單個HMaster的,這樣會存在一個單點故障問題.這裏我介紹下多個HMaster的安裝配置,詳見下面配置文件:
一、 hbase-env.sh 文件修改點:
# The java implementation to use. Java 1.6 required.
export JAVA_HOME=/usr/java/latest
# Extra Java CLASSPATH elements. Optional.
export HBASE_CLASSPATH=/home/hadoop/hadoop/etc/hadoop
# The maximum amount of heap to use, in MB. Default is 1000.
export HBASE_HEAPSIZE=1000
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_MANAGES_ZK=false
二、 hbase-site.xml文件配置:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/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>hadoopm,hadoop1,hadoop2</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/data/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/data/hbase/</value>
</property>
</configuration>
三、regionservers文件配置:(其實這個文件的內容比較簡單,主要是幾個DataNode的主機名稱)
hadoop1
hadoop2
hadoop3
hadoop4
四、這步主要做個說明:
1.以上配置在所有主機的Hbase中都是一樣的。
2.Hbase安裝在所有節點,包括NameNode,因爲NameNode我主要是讓其來管理HMaster的。
3.因爲我的安裝是基於Hadoop的HA,我有兩個NameNode,準備讓這兩個NameNode都運行HMaster。
4.我有六臺服務分別爲hadoopm,hadoopm1這兩個是NameNode,上面regionservers裏配置的4個主機名是我的DataNode。
5.現在開始啓動:在hadoopm上hbase目錄的bin下執行:./start-hbase.sh
在hadoopm1上hbase目錄的bin下執行:./hbase-daemon.sh start master
不出意外的情況下,這樣就Ok了,可以試着打開瀏覽器看看Hbase了,然後在hadoopm上hbase目錄的bin下執行:./hbase-daemon.sh stop master看看
hadoopm1是否會自動接口HMaster。提示:建議看日誌,日誌裏說的非常清楚!我就不演示了,這是此片日誌的第二次寫了,現在是用txt在本地寫的,寫完複製
到網頁裏,剛纔直接寫在網頁裏,結果寫了這麼多沒提交成功,全部沒了!