前言
记录下Windows下zookeeper集群的搭建步骤,遇到的问题。
一、操作步骤
1.下载安装
到官网下载最新的包,下载 链接.
解压后复制三份并重命名
2.配置
进入文件夹找到配置文件,我的配置文件在D:\learn\zookeeper-1\conf里面,重命名zoo_sample.cfg为zoo.cfg,具体贴出配置文件:
第一个节点
tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:\\learn\\zookeeper-1\\data
dataLogDir=D:\\learn\\zookeeper-1\\log
clientPort=2181
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883
第二个节点
tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:\\learn\\zookeeper-2\\data
dataLogDir=D:\\learn\\zookeeper-2\\log
clientPort=2182
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883
第三个节点
tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:\\learn\\zookeeper-3\\data
dataLogDir=D:\\learn\\zookeeper-3\\log
clientPort=2183
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883
在每个节点的data目录里新建myid文件,文件内容填上对应节点的id,对应上面配置中的server.id
3.启动
windows下直接到三个节点bin目录依次双击zkServer.cmd启动
启动中第一个节点会报错:
这是因为另外两个节点还没启动好,等其他节点启动完了就好。
二、遇到的问题
1.dataDir的生成的目录不正确
在windows下注意dataDir的路径,要用\\
,具体参照上面的zoo.cfg配置文件。
2.Failed to bind to /0.0.0.0:8080
第2、3节点启动时候汇报这个错,这是因为zookeeper默认会启动admin server,绑定的端口是8080,这个服务是用来查看zookeeper的一些信息:
第1个节点启动后就会占用了8080,如何解决呢?
参照官方文档,可以关闭此服务,或者修改端口:
具体请查看文档链接.
总结
这是本人今天在windows下搭建zookeeper集群的操作步骤以及遇到的问题,主要注意一下配置文件中路径相关的要用\\
,不然data目录默认会生成到bin目录里面。