環(huán)境說(shuō)明
系統(tǒng)為CentOS 6.0
192.168.255.128? =》 server01
192.168.255.130? =》 server02
192.168.255.131? =》 server03
/etc/hosts文件中有這些IP和域名的映射關(guān)系
配置server01在hadoop用戶下可以通過(guò)密鑰無(wú)需密碼訪問(wèn)server02和server03
1. 安裝配置zookeeper
在三臺(tái)服務(wù)器上執(zhí)行以下同樣的操作
a. 下載
wget?http://apache.etoak.com//zookeeper/zookeeper-3.3.4/zookeeper-3.3.4.tar.gz?-P /usr/local/src
b. 安裝
cd /usr/local/src
tar zxvf zookeeper-3.3.4.tar.gz
mv zookeeper-3.3.4 /usr/local/zookeeper
chown -R hadoop:hadoop /usr/local/zookeeper
解壓安裝,目錄的擁有者設(shè)置為zookeeper
c. 建立數(shù)據(jù)目錄
mkdir /data/zookeeper
chown -R hadoop:hadoop /data/zookeeper
d. 修改配置文件
創(chuàng)建配置文件(注意:以下操作在hadoop用戶中進(jìn)行)
su - hadoop
ln -s /usr/local/zookeeper zookeeper
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
編輯配置文件
vi zoo.cfg
#?修改數(shù)據(jù)目錄dataDir為以下值 ?
dataDir=/data/zookeeper ?
#?添加以下段落 ?
server.1=192.168.255.128:2887:3887 ?
server.2=192.168.255.130:2888:3888 ?
server.3=192.168.255.131:2889:3889?
server.id=host:port:port標(biāo)識(shí)不同的ZooKeeper服務(wù)器
需要在每個(gè)服務(wù)器的數(shù)據(jù)目錄中(這邊為/data/zookeeper)創(chuàng)建myid文件,文件的內(nèi)容為以上對(duì)應(yīng)的server.id中的id
vi?/data/zookeeper/myid ?
# 值為各個(gè)服務(wù)器對(duì)應(yīng)的server.id中的id
id
e. 配置環(huán)境變量并啟動(dòng)ZooKeeper
vi?.bashrc ?
export?ZOOKEEPER_HOME=/usr/local/zookeeper ?
PATH=$PATH:$ZOOKEEPER_HOME/bin ?
exit ?
su?-?hadoop?
需要在每一臺(tái)機(jī)器上都啟動(dòng)
zkServer.sh start
f. 驗(yàn)證
zkCli.sh -server 192.168.255.128:2181
[zk: 192.168.255.128:2181(CONNECTED) 0] help
......
顯示幫助內(nèi)容
2. 安裝HBase
同樣也是三臺(tái)服務(wù)器執(zhí)行同樣的操作
a. 下載
wget?http://apache.etoak.com//hbase/hbase-0.90.5/hbase-0.90.5.tar.gz-P /usr/local/src
b. 安裝
cd /usr/local/src
tar zxvf hbase-0.90.5.tar.gz
mv hbase-0.90.5 /usr/local/hbase
chown -R hadoop:hadoop /usr/loca/hbase
c. 配置文件
su - hadoop
ln -s /usr/local/hbase hbase
cd hbase/conf
編輯配置文件hbase-site.xml
vi hbase-site.xml
?
???
????hbase.rootdir?
????hdfs://server01:9000/hbase?
????區(qū)域服務(wù)器使用存儲(chǔ)HBase數(shù)據(jù)庫(kù)數(shù)據(jù)的目錄?
???
????hbase.cluster.distributed?
????true?
????指定HBase運(yùn)行的模式:?????????????????false:?單機(jī)模式或者為分布式模式????????????????? ?
?????????????????true:?全分布模式 ?
???
????hbase.zookeeper.quorum?
????server01,server02,server03?
????ZooKeeper集群服務(wù)器的位置?
編輯配置文件regionservers
vi?regionservers ?
server02 ?
server03?
設(shè)置環(huán)境變量hbase-env.sh
vi?hbase-evn.sh ?
export?HBASE_MANAGES_ZK=false?
使用獨(dú)立的ZooKeeper時(shí)需要修改HBASE_MANAGES_ZK值為false,為不使用默認(rèn)ZooKeeper實(shí)例。
d. hadoop和hbase版本匹配問(wèn)題
使用的版本信息如下:
hadoop-0.20.205.0.tar.gz
hbase-0.90.5.tar.gz
需要將hadoop主目錄下的hadoop-core-0.20.205.0.jar和主目錄中l(wèi)ib目錄下的commons-configuration-1.6.jar復(fù)制到HBase主目錄的lib目錄中,并刪除原來(lái)的hbase主目錄的lib目錄下的hadoop-core-0.20-append-r1056497.jar。
否則,會(huì)出現(xiàn)兩個(gè)錯(cuò)誤,不能連接zookeeper和找不到common.configuration對(duì)應(yīng)的類(lèi)
e. 修改hadoop用戶環(huán)境變量并啟動(dòng)HBase
vi?.bashrc ?
export?HBASE_HOME=/usr/local/hbase ?
PAHT=$PATH:$HBASE_HOME/bin?
exit
su - hadoop
以上使(先退出hadoop用戶到root,然后登陸到hadoop用戶)環(huán)境變量生效
需要先啟動(dòng)ZooKeeper(已經(jīng)啟動(dòng))和hdfs文件系統(tǒng)
注意:以下兩個(gè)命令只需要在server01下啟動(dòng)
start-dfs.sh
start-hbase.sh
f. 測(cè)試
hbase shell
hbase(main):001:0> status
2 servers, 0 dead, 1.0000 average load