1.下載Zookeeper最新穩(wěn)定版本
apache-zookeeper-3.6.1-bin.tar.gz
解壓縮
# tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz
重命名
# mv apache-zookeeper-3.6.1-bin/ zookeeper-3.6.1
進(jìn)入到conf目錄,修改配置文件
將 zoo_sample.cfg 復(fù)制一份并命名為 zoo.cfg
# cp zoo_sample.cfg zoo.cfg
在zookeeper目錄下創(chuàng)建data目錄
修改配置文件中的dataDir如下:
# dataDir=/app/soft/zookeeper-3.6.1/data
2.修改zoo.cfg配置
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/app/soft/zookeeper-3.6.1/data
# the port at which the clients will connect
clientPort=2181
3.zookeeper命令
進(jìn)入到zookeeper目錄下的bin文件夾中艇棕,使用以下命令:
啟動(dòng)zookeeper
./zkServer.sh start
檢查zookeeper啟動(dòng)情況
./zkServer.sh status
使用客戶端連接zookeeper
./zkCli.sh
查看zookeeper的進(jìn)程
ps -ef | grep zookeeper
4.設(shè)置zookeeper開(kāi)機(jī)自啟動(dòng)
可以將zookeeper作為一個(gè)服務(wù),設(shè)置其開(kāi)機(jī)自啟卷要,這樣每次我們打開(kāi)虛擬機(jī)就可以開(kāi)啟zookeeper跪解。設(shè)置zookeeper開(kāi)機(jī)自啟需要以下幾個(gè)步驟:
1.修改/etc/profile文件兴使,添加ZK配置
# vim /etc/profile
#zookeeper
export ZK_HOME=/app/soft/zookeeper-3.6.1
PATH=$ZK_HOME/bin/:$PATH
export ZK_HOME PATH
# source /etc/profile
2.進(jìn)入 /etc/init.d
目錄,創(chuàng)建文件zookeeper米酬,并添加腳本如下:
vim zookeeper
未配置ZK_PATH環(huán)境變量
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
ZK_PATH=/app/soft/zookeeper-3.6.1
case $1 in
start) sh $ZK_PATH/bin/zkServer.sh start;;
stop) sh $ZK_PATH/bin/zkServer.sh stop;;
status) sh $ZK_PATH/bin/zkServer.sh status;;
restart) sh $ZK_PATH/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart";;
esac
已配置ZK_PATH環(huán)境變量
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
case $1 in
start) sh zkServer.sh start;;
stop) sh zkServer.sh stop;;
status) sh zkServer.sh status;;
restart) sh zkServer.sh restart;;
*) echo "require start|stop|status|restart";;
esac
為腳本添加權(quán)限
# chmod +x zookeeper
3佃蚜、保存腳本之后蝉揍,執(zhí)行以下指令將其注冊(cè)為服務(wù):
chkconfig --add zookeeper
4.測(cè)試其是否生效链峭,這里采用先停服務(wù),再使用命令啟動(dòng)又沾,注意需要修改創(chuàng)建的zookeeper服務(wù)權(quán)限:
# 啟動(dòng)
[root@qa-11-2 init.d]# service zookeeper start
/bin/java
ZooKeeper JMX enabled by default
Using config: /app/soft/zookeeper-3.6.1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
# 停止
[root@qa-11-2 init.d]# service zookeeper stop
/bin/java
ZooKeeper JMX enabled by default
Using config: /app/soft/zookeeper-3.6.1/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
# 狀態(tài)查看
[root@qa-11-2 init.d]# service zookeeper status
/bin/java
ZooKeeper JMX enabled by default
Using config: /app/soft/zookeeper-3.6.1/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
# 重啟
[root@qa-11-2 init.d]# service zookeeper restart
/bin/java
ZooKeeper JMX enabled by default
Using config: /app/soft/zookeeper-3.6.1/bin/../conf/zoo.cfg
/bin/java
ZooKeeper JMX enabled by default
Using config: /app/soft/zookeeper-3.6.1/bin/../conf/zoo.cfg
Stopping zookeeper ... no zookeeper to stop (could not find file /app/soft/zookeeper-3.6.1/data/zookeeper_server.pid)
/bin/java
ZooKeeper JMX enabled by default
Using config: /app/soft/zookeeper-3.6.1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@qa-11-2 init.d]#
5.zookeeper基本操作命令
-
ls /
: 使用 ls 命令來(lái)查看當(dāng)前 ZooKeeper 中所包含的內(nèi)容 -
ls2 /
: 查看當(dāng)前節(jié)點(diǎn)數(shù)據(jù)并能看到更新次數(shù)等數(shù)據(jù) - 創(chuàng)建文件弊仪,并設(shè)置初始內(nèi)容:
create /fy "feiyue"
創(chuàng)建一個(gè)新的znode節(jié)點(diǎn)"fy"以及與它關(guān)聯(lián)的字符串"feiyue" - 獲取文件內(nèi)容:
get /fy
確認(rèn)新創(chuàng)建的znode節(jié)點(diǎn)是否包含我們所創(chuàng)建的"feiyue"字符串 - 修改文件內(nèi)容:
set /fy "feiyue100"
對(duì) zk 所關(guān)聯(lián)的字符串"feiyue"進(jìn)行設(shè)置,修改為"feiyue100" - 刪除文件:
delete /fy
將剛才創(chuàng)建的 znode 刪除;rmr /fy
刪除節(jié)點(diǎn)和他的子節(jié)點(diǎn) - 退出客戶端: quit
- 幫助命令: help