1. 程式人生 > >大數據-04-Hbase入門

大數據-04-Hbase入門

用戶 我們 property tar.gz 運行 JD www 配置 分隔

本指南介紹了HBase,並詳細指引讀者安裝HBase. 前面第二章學習指南已經指導大家安裝Linux操作系統,並安裝配置了Hadoop。相關安裝可以查看“大數據-01-安裝Hadoop”。

一、安裝並配置HBase

1. HBase安裝

1.1 解壓安裝包hbase-1.1.2-bin.tar.gz至路徑 /usr/local,命令如下:

sudo cp hbase-1.1.2-bin.tar.gz /usr/local
cd /usr/local
sudo tar -zxf hbase-1.1.2-bin.tar.gz 

1.2 將解壓的文件名hbase-1.1.2改為hbase,以方便使用,命令如下:

sudo mv /usr/local/hbase-1.1.2 /usr/local/hbase

1.3 配置環境變量
將hbase下的bin目錄添加到path中,這樣,啟動hbase就無需到/usr/local/hbase目錄下,大大的方便了hbase的使用。教程下面的部分還是切換到了/usr/local/hbase目錄操作,有助於初學者理解運行過程,熟練之後可以不必切換。
編輯~/.bashrc文件

vim ~/.bashrc

如果沒有引入過PATH請在~/.bashrc文件尾行添加如下內容, 如果已經引入過PATH請在export PATH這行追加/usr/local/hbase/bin,這裏的“:”是分隔符。

export PATH=$PATH:/usr/local/hbase/bin

編輯完成後,再執行source命令使上述配置在當前終端立即生效,命令如下:

source ~/.bashrc

1.4 添加HBase權限

cd /usr/local
sudo chown -R hadoop ./hbase       #將hbase下的所有文件的所有者改為hadoop,hadoop是當前用戶的用戶名。

1.5 查看HBase版本,確定hbase安裝成功,命令如下:

/usr/local/hbase/bin/hbase version

命令執行後,輸出信息截圖如下:
技術分享圖片

2. HBase配置

HBase有三種運行模式,單機模式、偽分布式模式、分布式模式。作為學習,我們重點討論分布式模式。相關安裝可以查看“大數據-01-安裝Hadoop”。
以下先決條件很重要,比如沒有配置JAVA_HOME環境變量,就會報錯。

– jdk
– Hadoop( 單機模式不需要,偽分布式模式和分布式模式需要)
– SSH

2.1分布模式配置

  1. 配置/usr/local/hbase/conf/hbase-env.sh 。配置JAVA環境變量,並添加配置HBASE_MANAGES_ZK為true,用vi命令打開並編輯hbase-env.sh,命令如下:

    vi /usr/local/hbase/conf/hbase-env.sh

    配置JAVA環境變量,jdk的安裝目錄默認是 /usr/lib/jvm/java-8-openjdk-amd64
    , 則JAVA _HOME =/usr/lib/jvm/java-8-openjdk-amd64
    ,配置HBASE_MANAGES_ZK為true,表示由hbase自己管理zookeeper,不需要單獨的zookeeper。hbase-env.sh中本來就存在這些變量的配置,大家只需要刪除前面的#並修改配置內容即可(#代表註釋):

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    export HBASE_CLASSPATH=/usr/local/hbase/conf
    export HBASE_MANAGES_ZK=true 
    export HBASE_HOME=/usr/local/hbase
    export HADOOP_HOME=/usr/local/hadoop
    export HBASE_LOG_DIR=/usr/local/hbase/logs

    添加完成後保存退出即可。

  2. 配置/usr/local/hbase/conf/hbase-site.xml
    打開並編輯hbase-site.xml,命令如下:

    vi /usr/local/hbase/conf/hbase-site.xml

    在啟動HBase前需要設置屬性hbase.rootdir,用於指定HBase數據的存儲位置,因為如果不設置的話,hbase.rootdir默認為/tmp/hbase-${user.name},這意味著每次重啟系統都會丟失數據。此處設置為HBase安裝目錄下的hbase-tmp文件夾即(/usr/local/hbase/hbase-tmp),添加配置如下:

    <configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://Master:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>Master:60000</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>Master,Slave1</value>
    </property>
    </configuration>
  3. 配置regionservers

    vim /usr/local/hbase/conf/regionservers

    修改內容為

    Master
    Slave1

  4. 復制hbase到從節點中
    scp -r /usr/local/hbase Slave1:/usr/local/

  5. 接下來測試運行。首先切換目錄至HBase安裝目錄/usr/local/hbase;再啟動HBase。命令如下:

    cd /usr/local/hbase
    bin/start-hbase.sh

    啟動後,master上進程和slave進程列表
    技術分享圖片

Slave1服務器上的結果如下:
技術分享圖片
註意!!!
因為hbase依賴於hadoop,因此啟動和停止都是需要按照順序進行
如果安裝了獨立的zookeeper
啟動順序: hadoop-> zookeeper-> hbase
停止順序:hbase-> zookeeper-> hadoop
使用自帶的zookeeper
啟動順序: hadoop-> hbase
停止順序:hbase-> hadoop
重啟hbase

大數據-04-Hbase入門