Zookeeper的安裝和配置十分簡單, 既能夠配置成單機模式, 也能夠配置成集羣模式. 下面將進行介紹集羣模式的安裝配置html
因爲集羣模式下, 各server部署在不一樣的機器上, 所以各server的conf/zoo.cfg文件能夠徹底同樣.
java
zookeeper-3.5.0-alpha.tar.gzapache
1、安裝需求bash
安裝java 1.6及hadoop 0.20.x服務器
2、安裝zookeeperide
1、下載zookeeperoop
zookeeper-3.5.0-alpha.tar.gz測試
其餘版本下載地址(最好使用stable版本):http://zookeeper.apache.org/releases.htmlui
2、解壓spa
tar -zxvfzookeeper-3.5.0-alpha.tar.gz
將解壓後的zookeeper-3.4.3文件放在系統的/home/hdtest /中。
[root@master soft]# cp zookeeper-3.5.0-alpha/home/hdtest/zoo2/
修改zoo2目錄的所屬用戶組和權限
[root@master hdtest]# chown hdtest.hdtest zoo2/ -R
3、將zoo2/conf目錄下的zoo_sample.cfg文件拷貝一份,命名爲爲「zoo.cfg」
切換到hdtest用戶進入conf配置目錄中
[hdtest@master conf]$ pwd
/home/hdtest/zoo2/conf
[hdtest@master conf]$ cp zoo_sample.cfg zoo.cfg
4、修改zoo.cfg配置文件
[hdtest@master conf]$ vi zoo.cfg
clientPort=2188
dataDir=/home/hdtest/zoo2/zookeeper-data
syncLimit=5
initLimit=10
tickTime=2000
server.1=192.168.200.2:2888:3888
server.2=192.168.200.3:2888:3888
server.3=192.168.200.4:2888:3888
5、建立dataDir參數指定的目錄
(這裏指的是「 /home/hdtest/zoo2/zookeeper-data」),並在目錄下建立文件,命名爲「myid」。
6、編輯「myid」文件,並在對應的IP的機器上輸入對應的編號。如在192.168.200.2上,「myid」文件內容就是1。還有其餘服務器,好比地址爲192.168.200.3,則在 myid文件的內容就是2。
[hdtest@master zookeeper-data]$ cat myid
1
[hdtest@slave1 zookeeper-data]$ cat myid
2
至此,若是是多服務器配置,就須要將zoo2目錄拷貝到其餘服務器,而後按照上述的方法修改myid。
7、在主節點上使用hdtest用戶編輯配置文件文件中設置PATH
修改profile文件:
[hdtest@master ~]$ cat .bash_profile
export ZOOKEEPER_HOME=/home/hdtest/zoo2/
export PATH=$PATH:$HADOOP_HOME/bin/:$ZOOKEEPER_HOME/bin
保存退出後
[hdtest@master ~]$ source .bash_profile
安裝完畢
3、啓動並測試zookeeper
1、在全部服務器中執行: zkServer.sh start
2、輸入jps命令查看進程:
[hdtest@master ~]$ jps
16404 QuorumPeerMain
14932 JournalNode
15013 NameNode
15345 ResourceManager
2378 Jps
其中,QuorumPeerMain是zookeeper進程,啓動正常。
3、查看狀態:zookeeper-3.4.3/bin/zkServer.sh status
[hdtest@master ~]$ zkServer.sh status
JMX enabled by default
Using config: /home/hdtest/zoo2/bin/../conf/zoo.cfg
Client port found: 2188
Mode: follower
4、啓動客戶端腳本:
[hdtest@master ~]$ zkCli.sh -server master:2188
WatchedEvent state:SyncConnected type:None path:null
[zk: zookeeper:2181(CONNECTED) 0]
[zk: zookeeper:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
connect host:port
get path [watch]
ls path [watch]
set path data [version]
rmr path
delquota [-n|-b] path
quit
printwatches on|off
create [-s] [-e] path dataacl
stat path [watch]
close
ls2 path [watch]
history
listquota path
setAcl path acl
getAcl path
sync path
[zk: master:2188(CONNECTING) 0]
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: master:2188(CONNECTED) 0] ls /
[zookeeper]
[zk: master:2188(CONNECTED) 1] ls /zookeeper
[config, quota]
[zk: master:2188(CONNECTED) 2]
5、中止zookeeper進程: zkServer.sh stop