HBase配置安裝
創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡公司、廣告設計公司的優(yōu)秀設計人員和策劃人員組成的一個具有豐富經(jīng)驗的團隊,其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設計師、平面廣告設計師、網(wǎng)絡營銷人員及形象策劃。承接:網(wǎng)站建設、成都網(wǎng)站設計、網(wǎng)站改版、網(wǎng)頁設計制作、網(wǎng)站建設與維護、網(wǎng)絡推廣、數(shù)據(jù)庫開發(fā),以高性價比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務。hbase0.98.5使用hadoop2.2.0安裝在rhel6.2系統(tǒng)。
下載 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 的環(huán)境,修改的部分如下:
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 部署在相同的物理節(jié)點,所以就指向了 Hadoop 安裝路徑下的目錄。HBASE_HEAPSIZE 單位為 MB,可以根據(jù)需要和實際剩余內(nèi)存設置,默認為 1000。HBASE_MANAGES_ZK=false指示 HBase 使用已有的 Zookeeper 而不是自帶的。
2. hbase-site.xml
該文件是 hbase 最主要的配置文件,配置如下:
第一項指定了 hbase 所使用的文件系統(tǒng)為 HDFS,根目錄為 hdfs://master:9000/hbase,該目錄應該由 HBase 自動創(chuàng)建,只需要指定到正確的 HDFS NameNode 上即可。第二項指定 HBase的工作模式為分布式的,第三項指定 HBase 將元數(shù)據(jù)存放路徑為/home/hdtest/hbase2,需要在 node0(Master)上創(chuàng)建該目錄。
3. regionservers
此文件指定了HBase的RegionServers,相當于hadoop配置文件中的slaves。本文將slave1/2作為 RegionServer,所以文件內(nèi)容為:
192.168.200.3
192.168.200.4
HBase 配置完成,將其分發(fā)到所有的 Master 和 RegionServer 節(jié)點上的相同目錄下,如
/home/hdtest/hbase2,并把剛才的 zoo.cfg 拷貝到每個節(jié)點的 HBASE_CLASSPATH 下(/home/hdtest/hadoop-2.2.0/etc/hadoop/),使得 HBase 可以找到 Zookeeper 的配置。
首先在NameNode(node0)上將 HDFS啟動:
$ ~/hadoop-1.0.2/bin/start-dfs.sh
然后在 Zookeeperensemble的每一個節(jié)點(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 中有數(shù)字,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服務器(配置方法網(wǎng)絡上多得是),然后在master節(jié)點使用stop-hbase.sh停止所有hbase服務,查看ntp服務是否生效,即master節(jié)點和regionserver節(jié)點時間是否一致后,再次啟動hbase服務。
在master服務器使用jps查看hbase進程
[hdtest@master ~]$ jps
6930 HMaster
9638 Jps
14932 JournalNode
4120 QuorumPeerMain
15013 NameNode
15345 ResourceManager
Hamster服務是hbase服務。
Journalnode是namenode做HA時配置的服務。
Quorumpeermain是zookeeper啟動的服務。
Namenode和resourcemanager是hdfs啟動服務
在slave1節(jié)點上查看hbase服務
[hdtest@slave1 ~]$ jps
21281 QuorumPeerMain
26528 Jps
11762 JournalNode
11854 NameNode
23557 HRegionServer
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。