windows环境下zookeeper集群配置操作

版权声明:欢迎转载,但是请附上原文链接! https://blog.csdn.net/zixiao217/article/details/82683260

安装启动zookeeper

在 Apache zookeeper 官网下载 https://www.apache.org/dyn/closer.cgi/zookeeper/

下载后解压,笔者使用的是3.4.5版本。

解压后看到如下文件结构:

zookeeper-3.4.5
    +--bin
    +--conf
    +contrib
    +--docs
    +--lib
    +src
    +--...

其中 conf目录下是zk的配置文件;
bin目录下是zk的服务端、客户端启动脚本;
lib放置了zk依赖的第三方jar包。

下载的zk的conf目录下存在一个 zoo_sample.cfg文件,这是个参考样本,我们复制一份且重命名为zoo.cfg(这是zk启动的配置文件名)。

zoo.cfg 配置文件

zoo.cfg 配置文件主要有以下配置参数:

>tickTime=2000  #毫秒,心跳时间;默认会话最小时间是该值的2倍
>initLimit=10  # 10倍的tickTime,
>syncLimit=5   # 5倍的tickTime,发起请求与获得确认的时间
>dataDir=/tmp/zookeeper  # 快照的存储目录,tmp只是一个参考样例,实际生产以有意义的命名
>clientPort=2181  # 供客户端连接的端口

启动zookeeper

执行bin目录下的启动脚本,windows环境启动执行zkServer.cmd。其他环境则启动zkServer.sh。一个sk server 就启动了。
zkCli.cmd 默认连接localhost的zk server。

单机环境下zookeeper集群配置

在zk的官网中给出了集群配置简单示例:

zoo.cfg:

# 伪集群设置
# 第一个端口是节点连接其他节点的端口,用于节点间通信,具体的讲,zk server 使用这个端口连接follower和leader。
# 当一个新的leader诞生,一个follower 打开一个TCP连接到leader,使用这个端口2888.
#因为选举leader也是使用TCP,所以需要另一个端口3888来做选举用。
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

1、2、3 是集群节点的server ID值,zool1-zool3是节点的ip地址。

  • 第一个端口是节点连接其他节点的端口,用于节点间通信,具体的讲,zk server 使用这个端口连接follower和leader。当一个新的leader诞生,一个follower 打开一个TCP连接到leader,就是使用的这个端口2888.
  • 因为集群选举leader也是使用TCP,所以需要另一个端口3888来做选举用。

集群配置文件

第一步 集群配置

在 zoo.cfg 中添加集群配置:

server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

第二步 复制zookeeper

然后复制一份zookeeper,到同级目录,且重命名,如下图所示:

这里写图片描述

第三步 zoo.cfg 配置

修改集群的zoo.cfg 配置

这里写图片描述

指定存储目录
这里写图片描述

相应的节点(比如第二个节点):dataDir=E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5.2\oyy\zookeeper

myid, 在dataDir指定的目录创建服务id文件 ,myid , 里面仅仅写入 各个服务的server ID: 比如第一个zk下的myid内容仅仅写入1.

这里写图片描述

分别启动3个zk,服务, 在日志中会输出该服务当前的角色: FOLLOWER、LEADER

2018-09-13 09:46:27,928 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@162] - Created server with tickTime 6000 minSessionTimeout 12000 maxSessionTimeout 120000 datadir E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5\oyy\zookeeper\version-2 snapdir E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5\oyy\zookeeper\version-2
2018-09-13 09:46:27,931 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Follower@63] - FOLLOWING - LEADER ELECTION TOOK - 303
2018-09-13 09:46:27,959 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Learner@325] - Getting a snapshot from leader
2018-09-13 09:45:40,225 [myid:3] - INFO  [QuorumPeer[myid=3]/0:0:0:0:0:0:0:0:2183:ZooKeeperServer@162] - Created server with tickTime 6000 minSessionTimeout 12000 maxSessionTimeout 120000 datadir E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5.3\oyy\zookeeper\version-2 snapdir E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5.3\oyy\zookeeper\version-2
2018-09-13 09:45:40,241 [myid:3] - INFO  [QuorumPeer[myid=3]/0:0:0:0:0:0:0:0:2183:Leader@345] - LEADING - LEADER ELECTION TOOK - 3276
2018-09-13 09:45:40,246 [myid:3] - INFO  [QuorumPeer[myid=3]/0:0:0:0:0:0:0:0:2183:FileTxnSnapLog@240] - Snapshotting: 0x0 to E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5.3\oyy\zookeeper\version-2\snapshot.0
2018-09-13 09:45:40,262 [myid:3] - INFO  [LearnerHandler-/127.0.0.1:62665:LearnerHandler@263] - Follower sid: 2 : info : org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer@e93d656
2018-09-13 09:45:40,319 [myid:3] - INFO  [LearnerHandler-/127.0.0.1:62665:LearnerHandler@318] - Synchronizing with Follower sid: 2 maxCommittedLog=0x0 minCommittedLog=0x0 peerLastZxid=0x0
2018-09-13 09:45:40,319 [myid:3] - INFO  [LearnerHandler-/127.0.0.1:62665:LearnerHandler@395] - Sending DIFF

猜你喜欢

转载自blog.csdn.net/zixiao217/article/details/82683260