手把手教你配置Hbase徹底分佈式環境

HBase配置相對比較簡單,下面的教程也是基於我上面2Hadoop配置的環境下繼續往下添加HBase的分佈式配置,此次個人HBase安裝目錄放在跟Hadoop同一目錄下面,節點信息跟我前一篇Hadoop徹底分佈式配置徹底同樣,不清楚的話能夠參考我那篇文章。 java

HBase根目錄:/usr/mywind/hbase node

HBase的版本:0.98.8-hadoop2 web

有圖有真相: shell


完整配置步驟:hadoop-env.shhbase-env.sh hbase-site.xml regionservers apache

固然,配置以前的慣例是把bin目錄加到系統環境變量裏面,方便命令的使用。而後,詳細的步驟以下: bash


1.    配置hadoop-env.sh,把HBase環境變量告訴Hadoop分佈式


export HBASE_HOME=${HBASE_HOME}
export HADOOP_CLASSPATH=$HBASE_HOME/hbase-it-0.98.8-hadoop2.jar:$HBASE_HOME/hbase-it-0.98.8-hadoop2-tests.jar:$HBASE_HOME/conf:${HBASE_HOME}/lib/zookeeper-3.4.6.jar:${HBASE_HOME}/lib/protobuf-java-2.5.0.jar:${HBASE_HOME}/lib/guava-12.0.1.jar


2. 配置hbase-env.sh,把Java環境變量告訴HBase,並配置ZooKpeer是否託管。 oop

export JAVA_HOME=${JAVA_HOME}
export HBASE_HEAPSIZE_ZK=false

3.   配置hbase-site.xml,引用管網的話「假如你第一次配置,那麼<configuration></configuration>之間是沒有任何內容的」。 this

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://192.168.8.184: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.property.dataDir</name>
    <value>/home/a01513/zookeeper</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,slave1,slave2,slave3</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
</configuration>

這裏要特別注意的是hbase.rootdir裏面的HDFS地址是要跟Hadoop core-site.xml裏面的fs.defaultFS HDFSIP地址或者域名、端口必須一致。其次是hbase.zookeeper.property.dataDir,其中a01513是個人操做系統用戶名,根據你本身的狀況改吧,或者放到其餘目錄也是能夠的。hbase.cluster.distributed 是啓用分佈式模式,這裏必須爲true哦。hbase.zookeeper.quorum是配置集羣IP地址集或者域名集,逗號分隔。hbase.master配置HBase的主節點端口,web端口是60010,經過web UI你能夠確認你是否訪問成功了。以下圖表示成功了: spa

4.         最後配置regionservers,這個最簡單了,把裏面的內容改爲下面的就能夠了:

slave1
slave2
slave3

有圖有真相,讓你模仿起來更有信心:

 

配置完成後啓動HBase就能夠了:

start-hbase.sh

關於Shell命令、API文檔,參考官網吧。

配置中可能遇到的問題:

1.   WARN  [Thread-12] hdfs.DFSClient: DataStreamer Exception

org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /hbase/.tmp/hbase.version could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.

    問題定位:datanode

    問題緣由:datanode沒有啓動

    解決辦法:啓動datanode(start-dfs.sh)

2.    執行sh start-hbase.sh時報錯,命令兼容性緣由仍是什麼,忘記了,總之,不能使用 sh start-hbase.sh ,要用bash start-hbase.sh

相關文章
相關標籤/搜索