Hbase安裝~Hbase安裝過程中常見的問題

HBase的運行依賴於Zookeeper,Hadoop

HBase安裝

1.解壓文件

tar -zxvf hbase-1.3.1-bin.tar.gz

2.配置文件

1)hbase-env.sh 修改內容

export JAVA_HOME=/usr/local/jdk1.8.0_131
export HBASE_MANAGES_ZK=false

2)hbase-site.xml 修改內容

<configuration>
 <property>
  <name>hbase.rootdir</name>
  <value>hdfs://hadoop1:9000/HBase</value>
 </property>
 <property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
 </property>
 <property>
  <name>hbase.master.port</name>
  <value>16000</value>
 </property>
 <property>   
  <name>hbase.zookeeper.quorum</name>
   <value>hadoop1</value>
 </property>
 <property>   
  <name>hbase.zookeeper.property.dataDir</name>
  <value>/opt/module/zookeeper-3.4.10/zkData</value>
 </property>
</configuration>

3)修改conf/regionservers文件 配置regionserver列表

vim regionservers
hadoop1
...

4)將Hadoop配置文件拷貝到Hbase conf目錄

cp core-site.xml /usr/local/hbase-2.0.3/conf/
cp hdfs-site.xml /usr/local/hbase-2.0.3/conf/

3.啓動

1).啓動方式

bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver

2).啓動/停止服務

bin/start-hbase.sh
bin/stop-hbase.sh

4.HBase 頁面查看結果

啓動成功後,可以通過“host:port”的方式來訪問 HBase 管理頁面,例如:

http://hadoop1:16010

******************************************************************

常見錯誤

1.如果集羣之間的節點時間不同步,會導致 regionserver 無法啓動,拋出ClockOutOfSyncException 異常。

修復:

a.同步時間服

b.屬性:hbase.master.maxclockskew 設置更大的值

<property>
    <name>hbase.master.maxclockskew</name>
    <value>180000</value>
    <description>Time difference of regionserver from master</description>
</property>

2.hadopp 和Hbase 日誌文件重複導致啓動失敗

running master, logging to /usr/local/hbase-2.0.3/bin/../logs/hbase-root-master-localhost.localdomain.out

SLF4J: Class path contains multiple SLF4J bindings.

修復:

刪除Hbase lib下的sl4f的jar包

rm -rf slf4j-log4j12-1.7.25.jar
rm -rf slf4j-api-1.7.25.jar

3.本地單機部署hbase,想要使用獨立zookeeper,不使用自帶的

vim conf/hbase-env.sh
export HBASE_MANAGES_ZK=false

設置不使用自帶zookeeper,這一步設置完按理說就可以使用獨立的zookeeper程序了,但是總是報錯:

Could not start ZK at requested port of 2181.  ZK was started at port: 2182.  Aborting as clients (e.g. shell) will not be able to find this ZK quorum.

如果hbase以standalone模式運行時,依然會去啓動自帶的zookeeper,export HBASE_MANAGES_ZK=false的設置就失敗了,因此需要修改hbase.cluster.distributed屬性爲true

vim conf/hbase-site.xml

<property>
 <name>hbase.cluster.distributed</name>
 <value>true</value> 
</property>

4. javaapi 連接本地hbase超時

hbase-site.xml增加配置

<property>
 <name>hbase.master.ipc.address</name>
 <value>0.0.0.0</value>
</property>
<property>
 <name>hbase.regionserver.ipc.address</name>
 <value>0.0.0.0</value>
</property>

5.異常

java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.

hbase-site.xml增加配置 

<property>
 <name>hbase.unsafe.stream.capability.enforce</name>
 <value>false</value>
</property>

 

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