1. 程式人生 > >大資料系列之資料庫Hbase知識整理(一)Hbase簡介,叢集搭建

大資料系列之資料庫Hbase知識整理(一)Hbase簡介,叢集搭建

1.Hbase簡介

  HBase是一個分散式的、面向的開源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化資料的分散式儲存系統”。就像Bigtable利用了Google檔案系統(File System)所提供的分散式資料儲存一樣,HBase在Hadoop之上提供了類似於Bigtable的能力。HBase是Apache的Hadoop專案的子專案。HBase不同於一般的關係資料庫,它是一個適合於非結構化資料儲存的資料庫。另一個不同的是HBase基於列的而不是基於行的模式。

                            

  HBase與Hadoop的關係非常緊密,Hadoop的HDFS提供了高可靠性的底層儲存支援,Hadoop MapReduce為HBase提供了高效能的計算能力,Zookeeper為HBase提供了穩定性及failover機制的保障。同時其他周邊產品諸如Hive可以與HBase相結合使在HBase進行資料統計處理變得簡單,Sqoop為HBase提供了方便的RDBMS資料匯入功能,使傳統資料庫的資料向HBase中遷移變得容易,Spark等高效能的記憶體分散式計算引擎也可能幫助我們更加快速的對HBase中的資料進行處理分析。

   Hbase使得使用者可以隨機、實時的讀寫資料,是一款版本化、非關係資料庫,實現了分散式可伸縮大型資料儲存。與我們前面大資料系列資料倉庫Hive相比,Hbase更加註重實時讀寫,而Hive則不能做到實時,因為要開啟MapReduce,Hive更像是資料分析,而Hbase則是實時讀寫。那麼Hbase為什麼會火起來,又適用哪些場景呢?

下面比較好的回答Hbase為什麼會火,Hbase適應場景,請參考如下:

2.Hbase叢集搭建

0.選擇安裝的主機
        s10 ~ s12
    1.jdk(前面已經安裝,可參考前面系列)
        略
    2.hadoop(前面已經安裝,可參考前面系列)
        略
    3.tar
        tar -zxvf  hbase-1.2.6-bin.tar.gz

        //建立符號連結

       ln -s hbase-1.2.6 hbase

     
    4.環境變數
        export HBASE_HOME=/home/zpx/soft/hbase
        export PATH=$PATH:$HBASE_HOME/bin

        source /etc/profile

    5.配置hbase模式
        5.1)本地模式
            [hbase/conf/hbase-env.sh]
            EXPORT JAVA_HOME=/home/zpx/soft/jdk1.8.0_65

            [hbase/conf/hbase-site.xml]
            ...
            <property>
                <name>hbase.rootdir</name>
                <value>file:/home/hadoop/HBase/HFiles</value>
            </property>

        5.2)偽分散式
            [hbase/conf/hbase-env.sh]
            EXPORT JAVA_HOME=/home/zpx/soft/jdk1.8.0_65

            [hbase/conf/hbase-site.xml]
            <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
            </property
            <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:8030/hbase</value>
            </property>

        5.3)完全分散式(必做)
            [hbase/conf/hbase-env.sh]
            export JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
            export HBASE_MANAGES_ZK=false

            [hbse-site.xml]
            <!-- 使用完全分散式 -->
            <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
            </property>

            <!-- 指定hbase資料在hdfs上的存放路徑 -->
            <property>
                <name>hbase.rootdir</name>
                <value>hdfs://s10:8020/hbase</value>
            </property>
            <!-- 配置zk地址 -->
            <property>
                <name>hbase.zookeeper.quorum</name>
                <value>s10:2181,s11:2181,s12:2181</value>
            </property>
            <!-- zk的本地目錄 -->
            <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/home/zpx/zookeeper</value>
            </property>
        
    6.配置regionservers
        [hbase/conf/regionservers]
        s10
        s11
        s12
    
    7.啟動hbase叢集(s10,程序如下)
        $>start-hbase.sh

                            

注意:一定要先開啟zookeeper和hdfs之後再開啟Hbase,使用hbase version可以檢視版本號
    
    8.登入hbase的webui
        http://s10:16010

軟體包:

連結:https://pan.baidu.com/s/1gil97LG3xgQClVhXa_v4uA 密碼:mibj