寫在前面的: 我還不會吃飯之前,請不要和我討論做熟這頓飯經歷了什麼過程!
SAKURA:你餵我吃飯好不好?
MK:餵你BABA
SAKURA:那你教我弄個zk集羣吧!
MK:中,跟着我的鍵盤,不成我吃BABA
希望大家有一天都能從借鑑中起飛
環境搭建解釋
主機信息規劃
- 192.168.198.131 - swarm01
- 192.168.198.132 - swarm02
- 192.168.198.133 - swarm03
安裝包下載地址[頁面訪問速度延遲,可以直接點擊備註中的地址直接下載]
安裝位置
- 192.168.198.131 /opt/zookeeper
- 192.168.198.132 /opt/zookeeper
- 192.168.198.133 /opt/zookeeper
配置信息修改
- 數據存儲位置
[root@swarm01 zookeeper]# ls
bin ivy.xml README.md zookeeper-3.4.14.jar.asc zookeeper-docs
build.xml lib README_packaging.txt zookeeper-3.4.14.jar.md5 zookeeper-it
conf LICENSE.txt src zookeeper-3.4.14.jar.sha1 zookeeper-jute
dist-maven NOTICE.txt zkData zookeeper-client zookeeper-recipes
ivysettings.xml pom.xml zookeeper-3.4.14.jar zookeeper-contrib zookeeper-server
[root@swarm01 zookeeper]# pwd
/opt/zookeeper
[root@swarm01 zookeeper]# mkdir zkData [這個名字可以根據實際情況修改]
- 配置文件修改
[root@swarm01 conf]# pwd
/opt/zookeeper/conf
[root@swarm01 conf]# ls
configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg
[root@swarm01 conf]# cat zoo.cfg
根據上面命令,本操作需要配置的內容爲:
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/zookeeper/zkData
server.1=swarm01:2888:3888
server.2=swarm02:2888:3888
server.3=swarm03:2888:3888
裏面還有其他參數的配置文件,這裏面暫時不需要進行修改因此就不作修改和解釋了。友情提示,在進行配置文件修改的時候最好把之前原來的配置文件進行備份
服務器標識
- 131主機標識
[root@swarm01 zookeeper]# pwd
/opt/zookeeper
[root@swarm01 zookeeper]# ls
bin ivy.xml README.md zookeeper-3.4.14.jar.asc zookeeper-docs
build.xml lib README_packaging.txt zookeeper-3.4.14.jar.md5 zookeeper-it
conf LICENSE.txt src zookeeper-3.4.14.jar.sha1 zookeeper-jute
dist-maven NOTICE.txt zkData zookeeper-client zookeeper-recipes
ivysettings.xml pom.xml zookeeper-3.4.14.jar zookeeper-contrib zookeeper-server
[root@swarm01 zookeeper]# cd zkData/
[root@swarm01 zkData]# ls
myid version-2 zookeeper_server.pid
[root@swarm01 zkData]# cat myid
1
[root@swarm01 zkData]#
- 132主機標識
[root@swarm02 zkData]# pwd
/opt/zookeeper/zkData
[root@swarm02 zkData]# ls
myid version-2 zookeeper_server.pid
[root@swarm02 zkData]# cat myid
2
[root@swarm02 zkData]#
- 133主機標識
[root@swarm03 zkData]# pwd
/opt/zookeeper/zkData
[root@swarm03 zkData]# ls
myid version-2 zookeeper_server.pid
[root@swarm03 zkData]# cat myid
3
[root@swarm03 zkData]#
備註:這裏面用着三臺主機進行集羣環境的搭建,因此如果你的集羣主機更多請按照這個順序進行配置下去
啓動集羣環境
- 檢查
一切配置都沒問題之後就可以啓動我們的集羣環境了 - 131 132 133 啓動
[root@swarm01 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@swarm01 bin]#
– 檢查節點身份
[root@swarm01 bin]# pwd
/opt/zookeeper/bin
[root@swarm01 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: follower----------從節點標識
[root@swarm01 bin]#
[root@swarm03 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: leader------------主節點標識
[root@swarm03 bin]#
常用命令召喚
- 進入help進行查詢
[root@swarm01 bin]# ./zkCli.sh -server swarm01:2181
Connecting to swarm01:2181
.........中間展示的部分就省略了
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: swarm01:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
stat path [watch]
set path data [version]
ls path [watch]
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version]
sync path
listquota path
rmr path
get path [watch]
create [-s] [-e] path data acl
addauth scheme auth
quit
getAcl path
close
connect host:port
[zk: swarm01:2181(CONNECTED) 1]
尾註:您對於技術的感悟也許就差了向我投一篇自己的BLOG
微信公衆號:碼農的技術分享【更新速度有點慢 多多見諒】
源代碼請回復: zk or 搭建環境
知乎賬號:曦曦春風