HBase單機模式與分佈式環境搭建

Hbase安裝模式介紹
單機模式
1> Hbase不使用HDFS,僅使用本地文件系統
2> ZooKeeper與Hbase運行在同一個JVM中
分佈式模式
– 僞分佈式模式
1> 所有進程運行在同一個節點上,不同進程運行在不同的JVM當中
2> 比較適合實驗測試
– 完全分佈式模式
1> 進程運行在多個服務器集羣中
2> 分佈式依賴於HDFS系統,因此佈署Hbase之前一定要有一個正常工作的HDFS集羣,hbase版本需與hadoop版本兼容,關於hbase和hadoop的版本對應信息,可參考官檔的說明
http://hbase.apache.org/book/configuration.html#basic.prerequisites

單機hbase環境

Linux環境準備
關閉防火牆和SELinux

# service iptables stop
# chkconfig iptables off
# vim /etc/sysconfig/selinux
SELINUX=disabled

配置主機名及主機名綁定

# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hbase

# vim /etc/hosts
192.168.0.30 hbase

Hbase的安裝部署
下載地址:http://pan.baidu.com/s/1c1YkCV2 密碼:nz3c
在這裏,下載的是1.2.6版本

解壓到指定目錄

# tar xvf hbase-1.2.6-bin.tar.gz -C /usr/local/
# cd /usr/local/hbase-1.2.6/

配置Hbase

# vim conf/hbase-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_131
# mkdir /usr/local/hbase-1.2.6/data
# vim conf/hbase-site.xml 
<configuration>
    <property>
            <name>hbase.rootdir</name>
            <value>file:/usr/local/hbase</value>
    </property>
    <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/usr/local/hbase/data/zookeeper</value>
    </property>
    <!-- 設置是否分佈式環境,false表示單機,默認爲false -->
    <property>
            <name>hbase.cluster.distributed</name>
            <value>false</value>
    </property>
</configuration>

啓動Hbase

# bin/start-hbase.sh

通過http://192.168.0.30:16010/master-status訪問Hbase的web頁面

至此,Hbase的單機模式環境搭建完畢.

備註:單機模式運行無需單獨安裝zookeeper,啓動時默認使用hbase自帶的zookeeper,默認端口2181,如果已經安裝了zookeeper並啓動,則啓動時有可能會端口衝突,目前解決辦法是修改安裝的zookeeper的默認端口,如修改爲2182等。(方法比較粗暴,有其他解決方式請在評論中指正)

分佈式環境搭建

分佈式需要安裝hadoop,安裝方式詳見hadoop單機安裝

其他準備工作與單機版安裝一致,只是配置方式不同,比如有三臺機器,主機名分別爲master,slaves1,slaves2。其中master爲主節點namenode,slaves1和slaves2爲從節點datanode。
注:各主機系統時間需要同步,誤差不能太大,否則會出現節點啓動失敗的情況。

修改hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_131
# 是否使用自帶zookeeper。 默認爲true,如果單獨安裝了zookeeper則需顯示設置爲false,並需要在hbase-site.xml中指定zookeeper節點的主機名
export HBASE_MANAGES_ZK=false 

修改hbase-site.xml

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <!-- “/hbase”前面的部分需要和hadoop中core-site.xml中的fs.default.name一致 -->
    <value>hdfs://master:9000/hbase</value>
  </property>
  <property>
    <!-- 設置是否分佈式環境,false表示單機,默認爲false -->
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <!-- 此處配置主機名,多個主機之間用英文逗號隔開 -->
    <value>master,slaves1,slaves2</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/hbase/data/zookeeper</value>
  </property>
</configuration>

修改slaves,將原來的localhost刪除,添加slaves1和slaves2,修改後如下:

slaves1
slaves2

注:由於僞分佈式環境沒有使用自帶的zookeeper,所以啓動前需先啓動zookeeper,否則使用hbase shell連接hbase時會無法連接。

配置完成後只需要在master節點執行start-hbase.sh即可啓動集羣。

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