1. 程式人生 > >HBase簡介及叢集安裝

HBase簡介及叢集安裝

一、Hbase概述
    Apache HBase™是Hadoop資料庫,是一個分散式,可擴充套件的大資料儲存。
    當您需要對大資料進行隨機,實時讀/寫訪問時,請使用Apache HBase™。該專案的目標是託
    管非常大的表 - 數十億行X百萬列 - 在商品硬體叢集上。Apache HBase是一個開源的,分散式
    的,版本化的非關係資料庫,模仿Google的Bigtable: Chang等人的結構化資料分散式儲存系
    統。正如Bigtable利用Google檔案系統提供的分散式資料儲存一樣,Apache HBase在Hadoop和
    HDFS之上提供類似Bigtable的功能。
    
    2006年-google發表了bigtable的白皮書
    2006年-開始開發hbase
    2008年-hbase正式成為apache的子專案
    2010年-正式成為apache的頂級專案
二、Hbase架構

三、Hbase叢集安裝部署
    叢集配置:
        zk叢集3臺
        hadoop叢集3臺
        hbase叢集3臺
        
    1、上傳hbase-1.3.0-bin.tar.gz到/root下
    
    2、解壓
    cd ~
    tar -zxvf hbase-1.3.0-bin.tar.gz -C hd
    
    3、修改配置檔案
    cd /root/hd/hbase-1.3.0/conf
    (1)hbase-env.sh--修改環境變數
    vi hbase-env.sh
    export JAVA_HOME=/root/hd/jdk1.8.0_144   # 修改java環境變數
    export HBASE_MANAGES_ZK=false    # 關閉hbase自帶的Zookeeper叢集,換成自己叢集的Zookeeper叢集
    
    (2)hbase-site.xml--加入配置資訊(在<configuration>標籤內)
    vi hbase-site.xml 
    <!-- 設定namenode所在位置 通過rootdir設定 也就是設定hdfs中存放的路徑 -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hd09-1:9000/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>
    
    <!-- zookeeper叢集的位置 -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hd09-1:2181,hd09-2:2181,hd09-3:2181</value>
    </property>
    
    <!-- hbase的元資料資訊儲存在zookeeper的位置 -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/root/hd/zookeeper-3.4.10/zkData</value>
    </property>
    
    (3)regionservers--加入從節點
    vi regionservers
    hd09-1
    hd09-2
    hd09-3
    
    4、解決依賴問題
    (1)刪除hbase自帶的jar包
    cd /root/hd/hbase-1.3.0/lib
    rm -rf hadoop-*
    rm -rf zookeeper-3.4.6.jar

    (2)進入放置zookeeper和hadoop的依賴包的資料夾,通過
    cp ./* /root/hd/hbase-1.3.0/lib/
    把相關版本的zookeeper和hadoop的依賴包匯入到hbase/lib下
    
    (3)軟連線hadoop配置
    ln -s /root/hd/hadoop-2.8.4/etc/hadoop/core-site.xml /root/hd/hbase-1.3.0/conf/
    ln -s /root/hd/hadoop-2.8.4/etc/hadoop/hdfs-site.xml /root/hd/hbase-1.3.0/conf/
    
    5、分發hbase安裝檔案到其他節點
    cd /root/hd
    scp -r hbase-1.3.0/ hd09-2:/root/hd
    scp -r hbase-1.3.0/ hd09-3:/root/hd
    
    6、啟動叢集
    首先要啟動hdfs叢集,yarn叢集和zookeeper叢集(其中括號內的是啟動命令所在的節點主機名,不包含在命令中)
    start-dfs.sh    (hd09-1)
    start-yarn.sh    (hd09-1)
    zkServer.sh start    (hd09-1,hd09-2,hd09-3)
    
    cd /root/hd/hbase-1.3.0
    bin/hbase-daemon.sh start master    (hd09-1)
    bin/hbase-daemon.sh start regionserver    (hd09-2,hd09-3)
    
    7、啟動終端
    cd /root/hd/hbase-1.3.0
    bin/hbase shell

    8、ui介面
    http://hd09-1
:16010/master-status

HBase架構

 Hadoop和ZooKeeper依賴