第二章 Zookeeper集群测试(window版)【下】

来源:互联网 发布:好用的电磁炉推荐 知乎 编辑:程序博客网 时间:2024/06/15 23:26
概述:

上面一部分已经设计单例模式,Zookeeper服务器启动与连接,接下在Windows如何实现Zookeeper三台服务器集群使用。

1、Zookeeper with Quorums(Zookeeper集群)

首先你要理解,Zookeeper需要通过配置来启动服务器,涉及服务器无非是服务器地址和端口号,以及日志配置,以及区分不同服务器标志。

先我们查看一下zkServer.cmd里面写了什么内容,用记事本打开



在查看zkEnv.cmd文件


在查看conf文件,发现还有日志配置文件


以上我们了解Zookeeper服务器如何启动过程,需要设置文件,那么问题来,如果多个服务器启动了,服务器之间怎么知道对方是跟自己在一组,然后进行通讯呢?

这时候我们需要在xxx.cfg配置,每一个服务器有一份名单,服务器就知道了彼此了。

server.1=127.0.0.1:2222:2223server.2=127.0.0.1:3333:3334server.3=127.0.0.1:4444:4445


注意上面由于IP地址一样,所以通过端口进行区分

每个服务器都会产生数据,所以需要为每个服务器建立文件分开存储。

为了测试直接在bin目录创建三个文件夹,分别命名为z1,z2,z3


以z1为例看看里面是什么?


myid文件(注意没有后缀,有的电脑隐藏需要先取消隐藏。)



查看z1.cfg  (log4j.properties不需要管直接从conf文件夹下复制即可)


z2内容类似,主要修改data目录myid为2,以及将z1.cfg改为z2.cfg,然后打开这个文件修改dataDir为

dataDir=D:/install/zookeeper-3.4.10/bin/z2/data,同时将clientPort=2182  (保证不一样)

z3内容类似,主要修改data目录myid为3,以及将z1.cfg改为z3.cfg,然后打开这个文件修改dataDir为

dataDir=D:/install/zookeeper-3.4.10/bin/z3/data,  同时将clientPort=2183

以上我们已经配置需要信息,现在需要配置zkServer.cmd 和zkEnv.cmd  为了方便也复制三份分别命名

zkServer1.cmd,zkServer2.cmd,zkServer3.cmd

zkEnv1.cmd ,zkEnv2.cmd ,zkEnv3.cmd 

我们以zkServer1.cmd和zkEnv1.cmd为例看看需要修改那些内容


zkEnv1.cmd


对于zkServer2.cmd,zkServer3.cmd,zkEnv2.cmd ,zkEnv3.cmd类似操作,

把上面标记位置修改成对应数字(也就是文件名最后的数字),例如z1.cfg 改为 z2.cfg

终于配完了,开始运行,依次启动zkServer1.cmd、zkServer2.cmd,zkServer3.cmd



不要关闭上面窗口,继续新开启新窗口启动zkServer2.cmd


这时候我们已经有两个台启动,说明可以进行服务,它还会报错,不过没有关系,它已经可以向外提供服务。

也就是启动zkCli.cmd


在看一下zkServer1.cmd 窗口


以上实现Zookeeper多个服务器配置信息实现