Zookeeper 环境搭建

 Zookeeper的配置文件不多,环境搭建的时候只需要修改一个文件:conf目录下的zoo.cfg (把templete文件改下名字),下面是一个简单的例子:

tickTime=2000 
initLimit=5 
syncLimit=2 
dataDir=/home/zookeeper/data 
dataLogDir=/home/zookeeper/logs 
clientPort=4180 
server.43=10.1.39.43:2888:3888 
server.47=10.1.39.47:2888:3888 
server.48=10.1.39.48:2888:3888 

在这之后需要在每一台机器上配置的 dataDir  目录(上例中为/home/zookeeper/data )下新建一个myid文件,例:echo "43" > /home/zookeeper/data/myid, 43根据机器的不同对应配置文件 (0-255)

然后 去bin目录下 zkServer.sh start-foreground 就可以了,没用start是因为这个参数可以输出启动信息。

遇到的坑

1. Address Already in use...

  这个没什么好说的,clientPort改成一个空闲的就可以了。当直接zkServer.sh start的时候 ,会显示zookeeper启动成功,但是是standalone模式。

2. WARN [WorkerSender[myid=4]:QuorumCnxManager@400] - Cannot open channel to 1 at election address hostname/ip:7020

java.net.ConnectException: Connection refused

  被这个坑了好久,但是这个异常可以忽略,原因是还有节点没有启动zookeeper,全部启动之后,自然就不会出异常了,亲测确实是这样。靠,操蛋,就不能给点友好的提示吗??

3.  Zookeeper 启动完成没有error, 但是zkServer.sh status 显示 probably not running, 有可能是 JAVA_HOME没有配置.

原文地址:https://www.cnblogs.com/jiang-Xin/p/6595013.html