HBase完全分佈式搭建

  1. 前言
    HBase – Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分佈式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集羣。
    HBase是Google Bigtable的開源實現,類似Google Bigtable利用GFS作爲其文件存儲系統,HBase利用Hadoop HDFS作爲其文件存儲系統;Google運行MapReduce來處理Bigtable中的海量數據,HBase同樣利用Hadoop MapReduce來處理HBase中的海量數據;Google Bigtable利用 Chubby作爲協同服務,HBase利用Zookeeper作爲對應。HBase是Google Bigtable的開源實現,它利用Hadoop HDFS作爲其文件存儲系統,利用Hadoop MapReduce來處理HBase中的海量數據,利用Zookeeper作爲協同服務。
  2. HBase架構
    HBase架構圖

Hbase基本組件
Client:
包含訪問Hbase的接口,並維護cache來加快對Hbase的訪問,比如region的位置信息。
HMaster:
是hbase集羣的主節點,可以配置多個,用來實現HA
爲RegionServer分配region
負責RegionServer的負載均衡
發現失效的RegionServer並重新分配其上的region

RegionServer:
Regionserver維護region,處理對這些region的IO請求
Regionserver負責切分在運行過程中變得過大的region

Region:
分佈式存儲的最小單元。

Zookeeper作用:
通過選舉,保證任何時候,集羣中只有一個活着的HMaster,HMaster與RegionServers 啓動時會向ZooKeeper註冊
存貯所有Region的尋址入口
實時監控Region server的上線和下線信息。並實時通知給HMaster
存儲HBase的schema和table元數據
Zookeeper的引入使得HMaster不再是單點故障

  1. HBase搭建
    準備:
    1. jdk安裝
    2. zookeeper安裝, 版本 zookeeper-3.4.5-cdh5.14.0, 下載 , zookeeper搭建可以看這裏, zookeeper搭建
    3. Hadoop安裝,版本 hadoop-2.6.0-cdh5.14.0, 下載
    4. 下載依賴包, 版本hbase-1.2.0-cdh5.14.0, 下載
    5. 節點分佈
      節點分佈
      安裝:
      安裝大致步驟,上傳依賴包,解壓,修改配置文件,分發,然後啓動
      軟件上傳目錄/home/software, 軟件安裝目錄/home/office.
      在bdata01機器上,上傳安裝包,解壓.tar -zxvf hbase-1.2.0-cdh5.14.0.tar.gz -C ../office
      把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下.這裏也可以用軟連接的方式,將hdfs-site.xml和core-site.xml 放到hbase/conf下.
      進入安裝目錄,進入hbase的conf目錄,修改主要配置文件. 主要配置文件hbase-env.sh, hbase-site.xml, regionservers, backup-masters,
      修改 hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_74/
#logs 和 pids 可以不修改,使用默認即可
export HBASE_LOG_DIR=/home/office/hbase-1.2.0-cdh5.14.0/logs
export HBASE_PID_DIR=/home/office/hbase-1.2.0-cdh5.14.0/pids
# 這裏的意思是使用外部zookeeper
export HBASE_MANAGES_ZK=false

修改 修改 hbase-site.xml

<configuration>
        <!-- 指定ZooKeeper集羣位置 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>bdata01,bdata02,bdata03</value>
        </property>

        <!-- Zookeeper寫數據目錄,與ZooKeeper集羣上配置相一致 -->
        <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/home/office/zookeeper-3.4.5-cdh5.14.0/zkdata</value>
        </property>

        <!-- Zookeeper的端口號 -->
        <property>
                <name>hbase.zookeeper.property.clientPort</name>
                <value>2181</value>
        </property>

        <!-- RegionServers共享目錄 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://bdata01:8020/hbase</value>
        </property>
	
        <!-- 開啓分佈式模式 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <!-- 指定Hbase的master的位置 -->
        <property>
                <name>hbase.master</name>
                <value>hdfs://bdata01:60000</value>
        </property>
        <!-- 使用本地文件系統設置爲false,使用hdfs設置爲true -->
        <property>
                <name>hbase.unsafe.stream.capability.enforce</name>
                <value>true</value>
        </property>
</configuration>

修改regionservers文件

bdata03
bdata04

修改 backup-masters來指定備用的主節點

bdata02

分發,將hbase分發到bdata02, bdata03, bdata04.

[root@bdata01 office ]$  scp -r hbase-1.2.0-cdh5.14.0/ bdata02:$PWD
[root@bdata01 office ]$  scp -r hbase-1.2.0-cdh5.14.0/ bdata03:$PWD
[root@bdata01 office ]$  scp -r hbase-1.2.0-cdh5.14.0/ bdata04:$PWD

分發完成後啓動,在bdata01機器上啓動hbasebin/start-hbase.sh, 注意,在啓動hbase之前,一定要先啓動zookeeper和hadoop.

通過瀏覽器訪問hbase管理頁面,cdh5.14.0 hbase訪問端口60010.
頁面管理
HBase搭建完成.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章