安裝
首當(dāng)其沖肯定是要安裝了,zookeeper-3.4.9.tar.gz,下載后,解壓到任意目錄。
tar -zxvf zookeeper-3.4.9
到這兒已經(jīng)安裝成功了。。接下來把這個(gè)目錄復(fù)制出三份,為什么是三份呢?因?yàn)閆ookeeper需要一個(gè)Leader,兩個(gè)Follower(最起碼也得倆吧,要么怎么分布式呢)。然后呢,編輯一下每個(gè)目錄的配置文件。
//如果沒有配置文件
//cp conf/zoo_sample.cfg conf/zoo.cfg
//zookeeper server 1
tickTime=2000
initLimit=10
syncLimit=5
//換成你自己的目錄,每個(gè)節(jié)點(diǎn)要設(shè)置不同的。
dataDir=/home/allen/tools/zookeeper_1/data
clientPort=2182
/*
server.{A}={B}:{C}:{D}
A:是一個(gè)數(shù)字,這個(gè)數(shù)字對(duì)應(yīng)節(jié)點(diǎn)的Index,這個(gè)下一步再講。
B:節(jié)點(diǎn)的HOST,因?yàn)槎荚谝粋€(gè)機(jī)器上,所以都是127
C&D:Leads通信端口,可以先配置上,有興趣的同學(xué)可以看看官方文檔
*/
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
//接下來把其他兩個(gè)Server按照相同的進(jìn)行配置,不同的只有dataDir & clientPort
接下來要運(yùn)行了嗎?并不是,還有個(gè)index 沒修改不是嗎??!
找到你dataDir的目錄,我設(shè)置的是“/home/allen/tools/zookeeper_1/data”,執(zhí)行語句
echo "1" >> /home/allen/tools/zookeeper_1/data/myid
//這個(gè)1,就是server后面的數(shù)字,接下來,為每個(gè)節(jié)點(diǎn)進(jìn)行配置。
echo "2" >> /home/allen/tools/zookeeper_2/data/myid
echo "3" >> /home/allen/tools/zookeeper_3/data/myid
..
..
到此配置工作已經(jīng)完成,跑一下吧。。
//到每個(gè)節(jié)點(diǎn)目錄下,分別執(zhí)行
./bin/zkServer.sh start
運(yùn)行
費(fèi)半天勁,浪我們看看有什么結(jié)果
./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/allen/tools/zookeeper_1/bin/../conf/zoo.cfg
Mode: follower
//如果是Leader主機(jī),看到的結(jié)果如下
ZooKeeper JMX enabled by default
Using config: /home/allen/tools/zookeeper_3/bin/../conf/zoo.cfg
Mode: leader
//連接上機(jī)器看看都有什么
./bin/zkCli.sh -server 127.0.0.1:2180
[zk: 127.0.0.1:2180(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 data acl
stat path [watch]
close
ls2 path [watch]
history
listquota path
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version]
setquota -n|-b val path
[zk: 127.0.0.1:2182(CONNECTED) 8] create /my_test hello_world
Created /my_test
[zk: 127.0.0.1:2182(CONNECTED) 9] ls /
[zookeeper, my_test]
[zk: 127.0.0.1:2182(CONNECTED) 10] get /my_test
hello_world
cZxid = 0x100000005
ctime = Thu Mar 02 12:12:03 CST 2017
mZxid = 0x100000005
mtime = Thu Mar 02 12:12:03 CST 2017
pZxid = 0x100000005
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0
[zk: 127.0.0.1:2182(CONNECTED) 11]
為什么沒有更多的例子?說白了我也剛研究,所以不知道更多的命令,哈哈哈??!
以上就是我的安裝過程,其中遇到困阻無數(shù),希望能解決你的問題。