hbase配置與安裝

 

 

HBase配置安裝

 

hbase0.98.5使用hadoop2.2.0安裝在rhel6.2系統。

 

下載 hbase-0.98.5-hadoop2-bin.tar.gz並上傳到服務器中

使用命令進行解壓

[root@master soft]# tar -zxvfhbase-0.98.5-hadoop2-bin.tar.gz

 

對解壓後的目錄cp到指定目錄,目前使用的是hdtest用戶home目錄下

[root@master soft]# cp hbase-0.98.5-hadoop2/home/hdtest/hbase2/

hbase2 目錄進行修改所屬組及用戶

chown hdtest.hdtest hbase2/ -R

 

修改 conf目錄下的 3 個配置文件:

1. hbase-env.sh

hadoop-env.sh,該文件設定了 hbase 的環境,修改的部分如下:

export JAVA_HOME=/usr/java/jdk1.7.0_67export

export HBASE_CLASSPATH=/home/hdtest/hadoop-2.2.0/etc/hadoop/

export HBASE_HEAPSIZE=1000

exportHBASE_MANAGES_ZK=false

其中,HBASE_CLASSPATH指向存放有 Hadoop 配置文件的目錄,這樣 HBase 可以找到 HDFS的配置信息,由於本文 Hadoop HBase 部署在相同的物理節點,所以就指向了 Hadoop 安裝路徑下的目錄。HBASE_HEAPSIZE 單位爲 MB,可以根據需要和實際剩餘內存設置,默認爲 1000HBASE_MANAGES_ZK=false指示 HBase 使用已有的 Zookeeper 而不是自帶的。

 

2. hbase-site.xml

該文件是 hbase 最主要的配置文件,配置如下:

<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.tmp.dir</name>

<value>/home/hdtest/hbase2</value>

</property>

</configuration>

第一項指定了 hbase 所使用的文件系統爲 HDFS,根目錄爲 hdfs://master:9000/hbase,該目錄應該由 HBase 自動創建,只需要指定到正確的 HDFS NameNode 上即可。第二項指定 HBase的工作模式爲分佈式的,第三項指定 HBase 將元數據存放路徑爲/home/hdtest/hbase2,需要在 node0(Master)上創建該目錄。

 

3. regionservers

此文件指定了HBaseRegionServers,相當於hadoop配置文件中的slaves。本文將slave1/2作爲 RegionServer,所以文件內容爲:

192.168.200.3

192.168.200.4

HBase 配置完成,將其分發到所有的 Master RegionServer 節點上的相同目錄下,如

/home/hdtest/hbase2,並把剛纔的 zoo.cfg 拷貝到每個節點的 HBASE_CLASSPATH (/home/hdtest/hadoop-2.2.0/etc/hadoop/),使得 HBase 可以找到 Zookeeper 的配置。

 

首先在NameNode(node0)上將 HDFS啓動:

$ ~/hadoop-1.0.2/bin/start-dfs.sh

然後在 Zookeeperensemble的每一個節點(node1/2/3)上分別啓動 Zookeeper:

$ ~/zookeeper-3.4.3/bin/zkServer.sh start

Master(node0)上啓動 HBase

$ ~/hbase-0.94.0/bin/start-hbase.sh

用瀏覽器訪問:

http://node0:60010

可以看到 HBase 的運行信息,如果 Attributes  ->Load average 中有數字,Tables 中有-ROOT-

.META.兩張表,並且 Region Server 中的信息也都正常,則 HBase 正常啓動了。

關閉的順序和啓動的順序相反,先關閉 HBase

$ ~/hbase-0.94.0/bin/stop-hbase.sh

然後關閉 Zookeeper HDFS

 

 

問題解決:

1,時間同步問題導致其他RegionServers啓動報錯

 

2014-10-16 13:01:11,956 FATAL[regionserver60020] regionserver.HRegionServer: Master rejected startup becauseclock is out of sync

org.apache.hadoop.hbase.ClockOutOfSyncException:org.apache.hadoop.hbase.ClockOutOfSyncException: Serverslave2,60020,1413435669437 has been rejected; Reported time is too far out ofsync with master.  Time difference of 400025ms > max allowed of 30000ms

at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:344)

       atorg.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:237)

       atorg.apache.hadoop.hbase.master.HMaster.regionServerStartup(HMaster.java:1286)

       atorg.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusSe

 

從報錯信息上看出時間不同步導致。

 

解決辦法:

需要在集羣中配置一個ntp服務器(配置方法網絡上多得是),然後在master節點使用stop-hbase.sh停止所有hbase服務,查看ntp服務是否生效,即master節點和regionserver節點時間是否一致後,再次啓動hbase服務。

 

master服務器使用jps查看hbase進程

[hdtest@master ~]$ jps

6930 HMaster

9638 Jps

14932 JournalNode

4120 QuorumPeerMain

15013 NameNode

15345 ResourceManager

Hamster服務是hbase服務。

JournalnodenamenodeHA時配置的服務。

Quorumpeermainzookeeper啓動的服務。

Namenoderesourcemanagerhdfs啓動服務

 

slave1節點上查看hbase服務

[hdtest@slave1 ~]$ jps

21281 QuorumPeerMain

26528 Jps

11762 JournalNode

11854 NameNode

23557 HRegionServer

 

 


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