Zookeeper 部署Zookeeper仲裁模式集群
部署Zookeeper仲裁模式集群
本例在一台服务器上部署3个zk服务:z1、z2、z3。
1.下载Zookeeper
https://zookeeper.apache.org/
2.解压缩
tar -xvzf zookeeper-3.4.10.tar.gz
3.zk目录创建
mkdir z1 mkdir z1/data mkdir z2 mkdir z2/data mkdir z3 mkdir z3/data
此处注意data文件夹权限,否则有可能zookeeper_server.pid文件会无法写入。
4.myid配置服务器ID
echo 1 > z1/data/myid echo 2 > z2/data/myid echo 3 > z3/data/myid
5.整理zk配置文件
以下配置文件分别复制到{PATH_TO_ZK}/z1/z1.cfg、{PATH_TO_ZK}/z2/z2.cfg、{PATH_TO_ZK}/z3/z3.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=./z1/data【注1】 clientPort=2181【注2】 server.1=127.0.0.1:2222:2223 server.2=127.0.0.1:3333:3334 server.3=127.0.0.1:4444:4445【注3】
【注1】:
zk的data目录z1、z2、z3需修改为各自目录。
【注2】:
客户端连接端口号,z1、z2、z3不相同,可分别配置为2181、2182、2183。
【注3】:
server.n指定了编号为n的ZooKeeper服务使用的地址和端口号。
格式为server.{n}={host}:{port1}:{port2}。n为zk服务编号,host为主机名(hostname),port1和port2分别为仲裁通信和群首选举的TCP端口号。
6.启动/关闭服务
可以在不同shell执行以下命令启动zk服务并查看日志。
bin/zkServer.sh start-foreground ./z1/z1.cfg & bin/zkServer.sh start-foreground ./z2/z2.cfg & bin/zkServer.sh start-foreground ./z3/z3.cfg &
bin/zkServer.sh stop ./z1/z1.cfg bin/zkServer.sh stop ./z2/z2.cfg bin/zkServer.sh stop ./z3/z3.cfg
7.使用客户端连接
bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183