zookeeper 伪集群安装
Time : 20181024vim
环境
- 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.cfgcentos
# 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:3389centos7
- 进行其余配置文件的编写
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