搭建zookeeper集群环境
可以先看看#yyds干货盘点# ZooKeeper下载安装
1.拷贝多份zookeeper文件,此处设置3个节点集群,所以创建serverA, B,C三个目录,把下载下来的apache-zookeeper-3.7.0-bin同步复制一份在对应serverA, B,C三个目录下
2.进入serverA目录下的config文件,将zoo_sample.cfg 复制一份命名为zoo.cfg
编辑zoo.cfg文件,内容为:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=E:\\sort\\zkdata\\za
clientPort=2181
server.1=127.0.0.1:2280:2281
server.2=127.0.0.1:2380:2381
server.3=127.0.0.1:2480:2481
serveB同理,内容为:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=E:\\sort\\zkdata\\zb
clientPort=2182
server.1=127.0.0.1:2280:2281
server.2=127.0.0.1:2380:2381
server.3=127.0.0.1:2480:2481
serveC同理,内容为:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=E:\\sort\\zkdata\\zc
clientPort=2183
server.1=127.0.0.1:2280:2281
server.2=127.0.0.1:2380:2381
server.3=127.0.0.1:2480:2481
注意:
同一IP上搭建多个节点的集群时,必须要注意端口问题,端口必须不一致才行。
创建多个节点集群时,在dataDir目录下必须创建myid文件,myid文件用于zookeeper验证server序号等,myid文件只有一行,并且为当前server的序号,例如server.1的myid就是1,server2的myid就是2等。
server.A=B:C:D;其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
3.创建serverA,B,C中zoo.cfg文件配置的dataDir目录
4.进入za目录,打开cmd命令窗口,输入 echo 1 > myid, 创建myid文件,创建文件后进行编辑,去掉内容中的空格, 因为myid文件中的内容前后不要有空格,否则zookeeper服务启动不成功。
同理进入zb目录,打开cmd命令窗口,输入 echo 2 > myid, 创建myid文件,创建文件后进行编辑,去掉内容中的空格。
同理进入zc目录,打开cmd命令窗口,输入 echo 3 > myid, 创建myid文件,创建文件后进行编辑,去掉内容中的空格。
5.分别进入目录serverA,B, C下bin文件点击zkServer.cmd
当启动serverA,B会出现错误,是正常现象, 等serverC全部都启动了,就搭建成功了。因为此时其它的ZooKeeper实例还未启动,等所有的ZooKeeper实例都启动后集群就正常了。
6.启动客户端,创建节点验证
分别进入serverA,B,C目录的bin文件下,打开cmd创建输入命令
serverA:
zkCli.cmd -server localhost:2181
serverB:
zkCli.cmd -server localhost:2182
serverC:
zkCli.cmd -server localhost:2183
在2181的端口下创建节点,输入命令 create /2181 /path, 查看节点 ls /, 这样在2181,2182,2183同样能看到新创建的节点。