如何在一台机器上部署zookeeper集群?
在一台机器上部署3个zookeeper server,具体的部署方法如下:
1、建立3个文件夹,如下server1 server2 server3,把最新版的zookeeper解压到文件夹下。然后建立data和dataLog目录,存放zookeeper的数据和日志。
2、进入data目录,创建一个myid的文件,里面写入一个数字,比如我这个是server1,那么就写一个1,server2对应myid文件就写入2,server3对应myid文件就写个3。注意,myid文件不需要后缀(自己测试了一下,有后缀识别不了)
3、进入zookeeper的/conf目录,会有3个文件,configuration.xml, log4j.properties,zoo_sample.cfg,把zoo_sample.cfg文件改成zoo.cfg,因为zookeeper启动的时候需要加载配置文件,配置的内容如下所示:
tickTime=2000
initLimit=5
syncLimit=2
dataDir=xxxx/zookeeper/server1/data
dataLogDir=xxx/zookeeper/server1/dataLog
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
需要注意的是clientPort这个端口如果你是在1台机器上部署多个server,那么每台机器都要不同的clientPort:比如我server1是2181,server2是2182,server3是2183,dataDir和dataLogDir也需要区分下。
4、进入zookeeper下/bin目录,点击运行zkServer.cmd。因为有三个服务器,所以需要启动三个server。
5、最后,进入任意一个server的zkCli.cmd,可以看到启动的状态。注意:client启动时,可能会报“无法定位登陆配置”错误,找了很多方法,没能够解决,但这不影响zookeeper的运行。
在任意一个client创建一个znode,可以发现去其他服务器的client上都能够获得这个节点的信息,这也是zookeeper分布式最大的特点。可以用这个进行验证部署是否正确。