摘要: Zookeeper集群安装 SpringMVC+Mybatis, Dubbo+Zookeeper, java分布式架构
1. 在根目录创建zookeeper文件夹(service1、service2、service3都创建)
[root@localhost/]# mkdir zookeeper
通过Xshell上传文件到service1服务器:上传zookeeper-3.4.6.tar.gz到/software文件夹
2.远程copy将service1下的/software/zookeeper-3.4.6.tar.gz到service2、service3
[root@localhostsoftware]# scp -r /software/zookeeper-3.4.6.tar.gz root@192.168.2.212:/software/
[root@localhostsoftware]# scp -r /software/zookeeper-3.4.6.tar.gz root@192.168.2.213:/software/
3.copy /software/zookeeper-3.4.6.tar.gz到/zookeeper/目录(service1、service2、service3都执行)
[root@localhost software]# cp /software/zookeeper-3.4.6.tar.gz /zookeeper/
4.安装解压zookeeper-3.4.6.tar.gz(service1、service2、service3都执行)
[root@localhost /]# cd /zookeeper/
[root@localhost zookeeper]# tar -zxvf zookeeper-3.4.6.tar.gz
5.在/zookeeper创建两个目录:zkdata、zkdatalog(service1、service2、service3都创建)
[root@localhost zookeeper]# mkdir zkdata
[root@localhost zookeeper]# mkdir zkdatalog
6.进入/zookeeper/zookeeper-3.4.6/conf/目录
[root@localhost zookeeper]# cd /zookeeper/zookeeper-3.4.6/conf/
[root@localhost conf]# ls
configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg
7. 修改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=/zookeeper/zkdata
dataLogDir=/zookeeper/zkdatalog
the port at which the clients will connect
clientPort=2181
the maximum number of client connections.
increase this if you need to handle more clients
#maxClientCnxns=60
#
Be sure to read the maintenance section of the
administrator guide before turning on autopurge.
#
#
#
The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
Purge task interval in hours
Set to 0 to disable auto purge feature
#autopurge.purgeInterval=1
server.1=192.168.2.211:12888:13888
server.2=192.168.2.212:12888:13888
server.3=192.168.2.213:12888:13888
8. 同步修改service2、service3的zoo.cfg配置
9. myid文件写入(进入/zookeeper/zkdata目录下)
[root@localhost /]# cd /zookeeper/zkdata
[root@localhost /]# echo 1 myid
10. myid文件写入service2、service3
echo 2 myid
echo 3 myid
11.查看zk命令:
[root@localhost ~]# cd /zookeeper/zookeeper-3.4.6/bin/
[root@localhost bin]# ls
README.txt zkCleanup.sh zkCli.cmd zkCli.sh zkEnv.cmd zkEnv.sh zkServer.cmd zkServer.sh zookeeper.out
12.执行zkServer.sh查看详细命令:
[root@localhost bin]# ./zkServer.sh
JMX enabled by default
Using config: /zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
13. 在service1、service2、service3分别启动zk服务
[root@localhost bin]# ./zkServer.sh start
14. jps查看zk进程
[root@localhost bin]# jps
31483 QuorumPeerMain
31664 Jps
15. 分别在service1、service2、service3查看zk状态(可以看到leader和follower节点)
[root@localhost bin]# ./zkServer.sh status
JMX enabled by default
Using config: /zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
[root@localhost bin]# ./zkServer.sh status
JMX enabled by default
Using config: /zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader
16. 看到leader和follower节点已经安装成功