ZooKeeper集群搭建 windows篇
2017-06-06 17:58
204 查看
ZooKeeper是一个分布式的,开源的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
http://apache.fayea.com/zookeeper/
我选择的是zookeeper-3.4.9稳定版
2. 解压到你的文件 我存放的是D:\API\zookeeper-3.4.9
3.创建一个zoo.cfg,我这里是使用拷贝zoo_sample.cfg,然后直接重命名。解释下各个属性:
tickTime 每次心跳检测的间隔时间,单位是毫秒
initLimit 集群中follower服务器和Leader服务器之间初始连接时能容忍的最大心跳次数,超过这个时间连接失败。如果超过这个时间大多数follower没有完成同步,Leader宣布放弃领导位置,进行一次新的选举。默认为10,如果zk集群数量庞大可以适当调大这个参数。
syncLimit 集群中follower服务器和Leader服务器之间请求和应答之间能容忍的最大心跳次数,超过这个时间此follower将被丢弃,所有关联到这个跟随者的客户端将连接到另外一个跟随者。
dataDir 存放数据的目录
clientPort 客户端连接使用的端口号
maxClientCnxns 允许的最大连接数
autopurge.snapRetainCount 保存在数据目录的快照数
autopurge.purgeInterva 清除任务的执行间隔,单位是小时
配置自定义的配置
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=D:/data/zookeeper
4.启动zookeeper。
双击bin下面的zkServer.cmd
5.查看zookeeper状态,需要用到netcat
下载地址:https://eternallybored.org/misc/netcat/
解压出来,然后命令行到同一个目录,敲击命令:
echo ruok | nc localhost 2181
可以看到有一个imok应答,当然你也可以使用conf命令查看配置
6.连接到zookeeper
打开一个新的命令行,切换到zookeeper的bin目录下面,敲入命令:
zkCli -server localhost:2181
然后你就可以自己创建zNode了,以上是单机版的安装配置步骤。
2.分别配置zk1、zk2、zk3的zoo.cfg
zk1:
zk2:
注意事项
由于部署在同一台机器上,clientPort不能重复,建议Server_A的clientPort=2181,Server_B的clientPort=2182,依次递增。
server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 ZooKeeper实例通信端口号不能一样,所以要给它们分配不同的端口号。
集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面只有一个数据就是 A 的值,ZooKeeper启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。
3.我们创建myid文件,每个文件里面只放对象server的id,但注意的是这个文件一定要是无BOM的
4.分别启动各个实例
双击
前几台实例出现实例异常是正常情况,全部启动好了就消失了
5.查看各个实例
6.伪集群模式搭建完成,真正的集群模式更简单,端口号完全可以完全一样
单机版
1.下载ZooKeeper,选择你需要的版本http://apache.fayea.com/zookeeper/
我选择的是zookeeper-3.4.9稳定版
2. 解压到你的文件 我存放的是D:\API\zookeeper-3.4.9
3.创建一个zoo.cfg,我这里是使用拷贝zoo_sample.cfg,然后直接重命名。解释下各个属性:
tickTime 每次心跳检测的间隔时间,单位是毫秒
initLimit 集群中follower服务器和Leader服务器之间初始连接时能容忍的最大心跳次数,超过这个时间连接失败。如果超过这个时间大多数follower没有完成同步,Leader宣布放弃领导位置,进行一次新的选举。默认为10,如果zk集群数量庞大可以适当调大这个参数。
syncLimit 集群中follower服务器和Leader服务器之间请求和应答之间能容忍的最大心跳次数,超过这个时间此follower将被丢弃,所有关联到这个跟随者的客户端将连接到另外一个跟随者。
dataDir 存放数据的目录
clientPort 客户端连接使用的端口号
maxClientCnxns 允许的最大连接数
autopurge.snapRetainCount 保存在数据目录的快照数
autopurge.purgeInterva 清除任务的执行间隔,单位是小时
配置自定义的配置
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=D:/data/zookeeper
4.启动zookeeper。
双击bin下面的zkServer.cmd
5.查看zookeeper状态,需要用到netcat
下载地址:https://eternallybored.org/misc/netcat/
解压出来,然后命令行到同一个目录,敲击命令:
echo ruok | nc localhost 2181
可以看到有一个imok应答,当然你也可以使用conf命令查看配置
6.连接到zookeeper
打开一个新的命令行,切换到zookeeper的bin目录下面,敲入命令:
zkCli -server localhost:2181
然后你就可以自己创建zNode了,以上是单机版的安装配置步骤。
伪集群模式
1.分别拷贝三个zookeeper副本,分别命名为zk1 zk2 zk3,目录结构如下:2.分别配置zk1、zk2、zk3的zoo.cfg
zk1:
tickTime=2000 initLimit=10 syncLimit=5 clientPort=2181 dataDir=D:/data/zk_cluster/zk_data/zk1 server.1=localhost:2881:3887 server.2=localhost:2882:3888 server.3=localhost:2883:3889
zk2:
tickTime=2000 initLimit=10 syncLimit=5 clientPort=2182 dataDir=D:/data/zk_cluster/zk_data/zk2 server.1=localhost:2881:3887 server.2=localhost:2882:3888 server.3=localhost:2883:3889zk3:
tickTime=2000 initLimit=10 syncLimit=5 clientPort=2183 dataDir=D:/data/zk_cluster/zk_data/zk3 server.1=localhost:2881:3887 server.2=localhost:2882:3888 server.3=localhost:2883:3889
注意事项
由于部署在同一台机器上,clientPort不能重复,建议Server_A的clientPort=2181,Server_B的clientPort=2182,依次递增。
server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 ZooKeeper实例通信端口号不能一样,所以要给它们分配不同的端口号。
集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面只有一个数据就是 A 的值,ZooKeeper启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。
3.我们创建myid文件,每个文件里面只放对象server的id,但注意的是这个文件一定要是无BOM的
4.分别启动各个实例
双击
前几台实例出现实例异常是正常情况,全部启动好了就消失了
5.查看各个实例
6.伪集群模式搭建完成,真正的集群模式更简单,端口号完全可以完全一样
相关文章推荐
- zookeeper集群搭建1Master、2Slaves
- 伪分布式集群环境hadoop、hbase、zookeeper搭建
- 搭建zookeeper集群
- zookeeper集群搭建
- 搭建Zookeeper服务器集群
- 记一次zookeeper集群搭建
- 学习总结十七:ZooKeeper集群搭建
- 本地虚拟机伪集群dubbo-zookeeper+dubbo demo案例单机集群服务搭建
- zookeeper3.4.8集群搭建文字+图解
- 十分钟教你学会zookeeper安装和集群搭建(伪集群 )
- Zookeeper集群搭建与启动
- 快使搭建zookeeper集群
- (3) linux下zookeeper伪集群搭建
- 搭建zookeeper集群
- Zookeeper+kafka集群环境搭建
- ZooKeeper此例简单介绍基于docker的zookeeper安装与集群搭建
- 学习Hadoop第十九课(Zookeeper集群搭建)
- 超详细zookeeper集群搭建及解析说明
- zookeeper集群搭建 windows