写在前面的: 我还不会吃饭之前,请不要和我讨论做熟这顿饭经历了什么过程!
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 搭建环境
知乎账号:曦曦春风