尽管zookeeper在编程上有很多的阱陷,API也非常的难用,但zookeeper服务本身可以说是很牢靠的了,所以在网上貌似关于运维的文章比较少。

但省心并不代表不会出麻烦,下面总结下zookeeper运维相关的东东。

重要的参考资料

这里有一个很好的Pdf,介绍了很多zookeeper的东东,作者是zookeeper的committer之一:
http://www.infoq.com/presentations/Misconfiguration-ZooKeeper
另外,这里有一个总结:http://marcin.cylke.com.pl/blog/2013/03/21/zookeeper-tips/

配置zookeeper开机启动

首先修改bin/zkEnv.sh,配置ZOO_LOG_DIR的环境变量,ZOO_LOG_DIR是zookeeper日志输出目录,ZOO_LOG4J_PROP是log4j日志输出的配置:

[plain] view plain copy
  1. if [ "x${ZOO_LOG_DIR}" = "x" ]
  2. then
  3. ZOO_LOG_DIR="$ZOOBINDIR/../logs"
  4. fi
  5. if [ "x${ZOO_LOG4J_PROP}" = "x" ]
  6. then
  7. ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
  8. fi

再在/etc/init.d目录下增加zookeeper1文件,并加个可执行权限:

[plain] view plain copy
  1. cd /etc/init.d
  2. touch zookeeper1
  3. chmod +x zookeeper1