zookeeper 伪集群安装
Time : 20181024
环境
- centos7
- zookeeper-3.4.6
zookeerper安装启动
- 将下载好的zookeeper-3.4.6.tar通过xftp或者其他上传到服务器目录/home/softwares/zookeeper下
- 执行 tar -zxvf zookeeper-3.4.6.tar;
- 将解压的文件进行重新命名 mv -f zookeeper-3.4.6 zookeeper
- cd zookeeper/conf 进入到文件夹下找到 zoo_simple.cfg
- cp -p zoo.simple.cfg zoo.cfg;创建zoo.cfg配置文件,zookeeper在启动时会默认的找到
-
进行文件的内容修改 vim 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. dataDir=/home/softwares/zookeeper/zk/data/data dataLogDir=/home/softwares/zookeeper/zk/dataLog/datalog # the port at which the clients will connect clientPort=2181
- 进行启动 cd /home/softwares/zookeeper/zookeeper/bin;
./zkServer start;
进行zookeeper集群搭建
在单机上进行部署集群的话只需要在启动的时候带上响应的配置文件
- cd /home/softwares/zookeeper/zk;
- 创建配置中心文件夹 mkdir conf
- 将默认的配置文件 zoo.cfg 或者 zoo_simple.cfg复制到当前目录
cp -p /home/softwares/zookeeper/zookeeper/conf/zoo.cfg zoo1/cfg - 修改配置文件
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/softwares/zookeeper/zk/data/data_1
dataDirLog=/home/softwares/zookeeper/zk/datalog/datalog_1
#dataDir=/home/softwares/zookeeper/zk/data/data_2
#dataDirLog=/home/softwares/zookeeper/zk/datalog/datalog_2
#dataDir=/home/softwares/zookeeper/zk/data/data_3
#dataDirLog=/home/softwares/zookeeper/zk/datalog/datalog_3
clientPort=2181server.0=localhost:2287:3387
server.1=localhost:2288:3388
server.2=localhost:2289:3389 - 进行其他配置文件的编写
cp zoo1.cfg zoo2.cfg; cp zoo1.cfg zoo3.cfg;
修改文件中的dataDir以及dataLogDir以及端口号 - 配置集群需要的myid
/home/softwares/zookeeper/zk/data/data_1 下创建myid echo 1 > myid
/home/softwares/zookeeper/zk/data/data_2 下创建myid echo 2 > myid
/home/softwares/zookeeper/zk/data/data_3 下创建myid echo 0 > myid - 分别启动即可 : 在zkServer目录下 ./zkServer start ../../../zk/conf/zoo1.cfg
- 查看状态 : ./zkServer status ../../../zk/conf/zoo1.cfg
参数配置说明
- initLimit
ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。
当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。 - syncLimit
配置follower和leader之间发送消息,请求和应答的最大时间长度。 - tickTime
tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。 - dataLogDir
dataLogDir指定的路径是事务日志保存路径 - dataDir
dataDir指定的路径是快照保存路径,当没有指定dataLogDir路径时,事务日志也会保存在该目录下 - server.id=host:port1:port2
其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。
host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。
其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。