HBase的基礎架構及環境搭建

一 HBase的基礎架構

在這裏插入圖片描述

1、HMaster

功能:

  1. 監控RegionServer
  2. 處理RegionServer故障轉移
  3. 處理元數據的變更
  4. 處理region的分配或移除
  5. 在空閒時間進行數據的負載均衡
  6. 通過Zookeeper發佈自己的位置給客戶端

2、RegionServer

功能:

  1. 負責存儲HBase的實際數據

  2. 處理分配給它的Region

  3. 刷新緩存到HDFS

  4. 維護HLog

  5. 執行壓縮

  6. 負責處理Region分片
    組件:

  7. Write-Ahead logs
    HBase的修改記錄,當對HBase讀寫數據的時候,數據不是直接寫進磁盤,它會在內存中保留一段時間(時間以及數據量閾值可以設定)。但把數據保存在內存中可能有更高的概率引起數據丟失,爲了解決這個問題,數據會先寫在一個叫做Write-Ahead logfile的文件中,然後再寫入內存中。所以在系統出現故障的時候,數據可以通過這個日誌文件重建。

  8. HFile
    這是在磁盤上保存原始數據的實際的物理文件,是實際的存儲文件。

  9. Store
    HFile存儲在Store中,一個Store對應HBase表中的一個列族。

  10. MemStore
    顧名思義,就是內存存儲,位於內存中,用來保存當前的數據操作,所以當數據保存在WAL中之後,RegsionServer會在內存中存儲鍵值對。

  11. Region
    Hbase表的分片,HBase表會根據RowKey值被切分成不同的region存儲在RegionServer中,在一個RegionServer中可以有多個不同的region。

二 HBase的集羣環境搭建

注意事項:Hbase強依賴於HDFS以及zookeeper,所以安裝Hbase之前一定要保證Hadoop和zookeeper正常啓動

第一步:下載對應的HBase的安裝包

下載Hbase的安裝包,下載地址如下:
http://archive.apache.org/dist/hbase/2.0.0/hbase-2.0.0-bin.tar.gz

第二步:壓縮包上傳並解壓

將我們的壓縮包上傳到node01服務器的/export/softwares路徑下並解壓

cd /export/softwares/
tar -zxf hbase-2.0.0-bin.tar.gz -C /export/servers/

第三步:修改配置文件

node01機器進行修改配置文件

cd /export/servers/hbase-2.0.0/conf

修改第一個配置文件hbase-env.sh

node01機器進行修改配置文件
註釋掉HBase使用內部zk

cd /export/servers/hbase-2.0.0/conf
vim hbase-env.sh

export JAVA_HOME=/export/servers/jdk1.8.0_141
export HBASE_MANAGES_ZK=false

修改第二個配置文件hbase-site.xml

node01機器進行修改配置文件
修改hbase-site.xml

cd /export/servers/hbase-2.0.0/conf
vim hbase-site.xml

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://node01:8020/hbase</value>  
        </property>

        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>

   <!-- 0.98後的新變動,之前版本沒有.port,默認端口爲60000 -->
        <property>
                <name>hbase.master.port</name>
                <value>16000</value>
        </property>

        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>node01:2181,node02:2181,node03:2181</value>
        </property>

        <property>
                <name>hbase.zookeeper.property.dataDir</name>
         <value>/export/servers/zookeeper-3.4.9/zkdatas</value>
        </property>
</configuration>

注意:這裏配置了zookeeper的安裝路徑

修改第三個配置文件regionservers

node01機器進行修改配置文件

cd /export/servers/hbase-2.0.0/conf
vim regionservers 
node01
node02
node03

創建back-masters配置文件,實現HMaster的高可用

node01機器進行修改配置文件

cd /export/servers/hbase-2.0.0/conf
vim backup-masters
node02

第四步:安裝包分發到其他機器

將我們node01服務器的hbase的安裝包拷貝到其他機器上面去

cd /export/servers/
scp -r hbase-2.0.0/ node02:$PWD
scp -r hbase-2.0.0/ node03:$PWD

第五步:三臺機器創建軟連接

因爲hbase需要讀取hadoop的core-site.xml以及hdfs-site.xml當中的配置文件信息,所以我們三臺機器都要執行以下命令創建軟連接

ln -s /export/servers/hadoop-2.7.5/etc/hadoop/core-site.xml /export/servers/hbase-2.0.0/conf/core-site.xml
ln -s /export/servers/hadoop-2.7.5/etc/hadoop/hdfs-site.xml /export/servers/hbase-2.0.0/conf/hdfs-site.xml

第六步:三臺機器添加HBASE_HOME的環境變量

vim /etc/profile
export HBASE_HOME=/export/servers/hbase-2.0.0
export PATH=:$HBASE_HOME/bin:$PATH

第七步:HBase集羣啓動

第一臺機器執行以下命令進行啓動

cd /export/servers/hbase-2.0.0
bin/start-hbase.sh

警告提示:HBase啓動的時候會產生一個警告,這是因爲jdk7與jdk8的問題導致的,如果linux服務器安裝jdk8就會產生這樣的一個警告

在這裏插入圖片描述
我們可以只是掉所有機器的hbase-env.sh當中的
“HBASE_MASTER_OPTS”和“HBASE_REGIONSERVER_OPTS”配置 來解決這個問題。不過警告不影響我們正常運行,可以不用解決

另外一種啓動方式:
我們也可以執行以下命令單節點進行啓動
啓動HMaster命令

bin/hbase-daemon.sh start master

啓動HRegionServer命令

bin/hbase-daemon.sh start regionserver

第八步:頁面訪問

瀏覽器頁面訪問
http://node01:16010/master-status

HBASE的表模型基本介紹

在這裏插入圖片描述

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