ZooKeeper 3.6.2 Windows环境搭建(伪集群【详】)

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


ZooKeeper 3.6.2 Windows环境搭建(伪集群【详】)

一、下载

官网下载: zookeeper官网
我们在这里下的是Apache zookeeper 3.6.2,点击红框处;
在这里插入图片描述

跳转到下面这个页面,点击红框处下载:
在这里插入图片描述
注: zookeeper 好像从 3.5 版本以后,命名就发生了改变,如果是 apache-zookeeper-3.5.5.tar.gz 这般命名的,都是未编译的,而 apache-zookeeper-3.5.5-bin.tar.gz 这般命名的,才是已编译的包。

下完压缩包,解压到你为zookeeper所准备的目录处:
在这里插入图片描述


二、单机安装:

将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg
在这里插入图片描述
修改zoo.cfg配置文件,将dataDir=/tmp/zookeeper修改成你相应存放数据的data文件夹地址(需要新建一个空的data文件夹和log文件夹),再添加一条添加数据日志的配置,如下图:

在这里插入图片描述
其他配置:

tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

启动zookeeper,判定是否安装成功,双击运行bin目录下的zkServer.cmd文件即可:
在这里插入图片描述
在这里插入图片描述


三、伪集群模式:

注意:因为Zookeeper遵循半数原则,所以集群节点个数最好是奇数。
首先照着上面配置单机zookeeper的方式,配置三次,结果:
在这里插入图片描述
相关配置:

tickTime:用于计算的基础时间单元。比如 session 超时:N*tickTime;
initLimit:用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以 tickTime 的倍数来表示;
syncLimit:用于集群, master 主节点与从节点之间发送消息,请求和应答时间长度(心跳机制);
dataDir:数据存储位置;
dataLogDir:日志目录;
clientPort:用于客户端连接的端口,默认 2181

指名集群间通讯端口和选举端口
localhost: server·1的 ip地址 2220:集群间的通信端口 6660当进行选举时候的通信端口
server.1=127.0.0.1:2220:6660
admin.serverPort=8888
是否启动后台管理
admin.enableServer=true
进入后台的命令 只能是 http://localhost:8888/commands 访问
admin.commandUrl=/commands
指定了需要保留的文件数目。默认是保留3个
autopurge.snapRetainCount=4
ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,
需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。
autopurge.purgeInterval=1

修改配置文件注意事项:
1、 3个节点配置的主要区别是data目录、log目录及端口不同。

2、在每个节点的data目录中创建文件 myid 文件,每个文件中分别写入当前机器的server id
在这里插入图片描述

注:检查生成的myid文件中的数字后面是否有空格,并将空格去掉
伪集群模式配置:
1)server1的zoo.cfg配置:

# Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,
# 也就是每个 tickTime 时间就会发送一个心跳。
tickTime=2000
    
admin.serverPort=8887
# 是否启动后台管理
admin.enableServer=true
# 进入后台的命令 只能是  http://localhost:8887/commands 访问
admin.commandUrl=/commands
# 指定了需要保留的文件数目。默认是保留3个
autopurge.snapRetainCount=4
# ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,
# 需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。
autopurge.purgeInterval=1
# 用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以 tickTime 的倍数来表示;
initLimit=10
# 用于集群, master 主节点与从节点之间发送消息,请求和应答时间长度(心跳机制);
syncLimit=5
# Zookeeper 存储快照文件snapshot的目录
dataDir=C:\\zookeeper\\1\\data
# Zookeeper 保存事务日志文件的目录
dataLogDir=C:\\zookeeper\\1\\log
# 客户端连接Zookeeper 服务器的端口
# Zookeeper 会监听这个端口,接受客户端的访问请求
clientPort=2181
# localhost: server·1的 ip地址  2220:集群间的通信端口 6660当进行选举时候的通信端口
server.1=127.0.0.1:2220:6660
server.2=127.0.0.1:2221:6661
server.3=127.0.0.1:2222:6662

2)server2的zoo.cfg配置:

# Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,
# 也就是每个 tickTime 时间就会发送一个心跳。
tickTime=2000
    
admin.serverPort=8888
# 是否启动后台管理
admin.enableServer=true
# 进入后台的命令 只能是  http://localhost:8888/commands 访问
admin.commandUrl=/commands
# 指定了需要保留的文件数目。默认是保留3个
autopurge.snapRetainCount=4
# ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,
# 需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。
autopurge.purgeInterval=1
# 用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以 tickTime 的倍数来表示;
initLimit=10
# 用于集群, master 主节点与从节点之间发送消息,请求和应答时间长度(心跳机制);
syncLimit=5
# Zookeeper 存储快照文件snapshot的目录
dataDir=C:\\zookeeper\\2\\data
# Zookeeper 保存事务日志文件的目录
dataLogDir=C:\\zookeeper\\2\\log
# 客户端连接Zookeeper 服务器的端口
# Zookeeper 会监听这个端口,接受客户端的访问请求
clientPort=3181
# localhost: server·1的 ip地址  2220:集群间的通信端口 6660当进行选举时候的通信端口
server.1=127.0.0.1:2220:6660
server.2=127.0.0.1:2221:6661
server.3=127.0.0.1:2222:6662

3)server3的zoo.cfg配置:

# Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,
# 也就是每个 tickTime 时间就会发送一个心跳。
tickTime=2000
    
admin.serverPort=8889
# 是否启动后台管理
admin.enableServer=true
# 进入后台的命令 只能是  http://localhost:8889/commands 访问
admin.commandUrl=/commands
# 指定了需要保留的文件数目。默认是保留3个
autopurge.snapRetainCount=4
# ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,
# 需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。
autopurge.purgeInterval=1
# 用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以 tickTime 的倍数来表示;
initLimit=10
# 用于集群, master 主节点与从节点之间发送消息,请求和应答时间长度(心跳机制);
syncLimit=5
# Zookeeper 存储快照文件snapshot的目录
dataDir=C:\\zookeeper\\3\\data
# Zookeeper 保存事务日志文件的目录
dataLogDir=C:\\zookeeper\\3\\log
# 客户端连接Zookeeper 服务器的端口
# Zookeeper 会监听这个端口,接受客户端的访问请求
clientPort=4181
# localhost: server·1的 ip地址  2220:集群间的通信端口 6660当进行选举时候的通信端口
server.1=127.0.0.1:2220:6660
server.2=127.0.0.1:2221:6661
server.3=127.0.0.1:2222:6662

启动:
执行每个server中的bin/zkServer.cmd,启动每个服务节点
如果是Linux,执行 zkServer.sh

检验集群是否启动:
zkCli.sh脚本是Zookeeper安装包中自带的一个客户端,放在$ZK_HOME/bin目录下

zkCli.sh客户端连接到ZK服务器的语法为:zkCli.sh -timeout 5000 -r -server ip:port

-timeout:表示客户端向zk服务器发送心跳的时间间隔,单位为毫秒。参数5000,表示zk客户端向服务器发送心跳的间隔为5秒。
-r:表示客户端以只读模式连接
-server:指定zk服务器的IP与端口,zk默认的客户端端口为2181

如果在Windows环境下,执行运行zkCli.cmd,出现下图所示表示已经成功连接到服务器。
在这里插入图片描述

以上就是我本次的分享,谢谢观看!!!

猜你喜欢

转载自blog.csdn.net/weixin_38316697/article/details/113859499