单机安装、配置:
安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:/home/frank/ZooKeeperInstall/zookeeper-3.3.3下。
配置文件存放在/conf/目录下,将zoo_sample.cfd文件名称改为zoo.cfg, 缺省的配置内容如下:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/frank/ZooKeeperInstall /data //这是我修改后的
# the port at which the clients will connect
clientPort=2181
- tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
- dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
- clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
当这些配置项配置好后,你现在就可以启动 Zookeeper 了:进入/bin目录 $ zkServer.sh start
启动后要检查 Zookeeper 是否已经在服务,可以通过 netstat – ano 命令查看是否有 clientPort 端口号在监听服务。
集群安装、配置:
Zookeeper 的集群模式的安装和配置也不是很复杂,所要做的就是增加几个配置项。集群模式除了缺省的配置项还要在zoo.cfg文件末尾增加集群中的机器ip、端口等:
参考:http://blog.csdn.net/franklysun/article/details/6424582
--------------------
日志生成
1. 修改log4j.properties
zookeeper.root.logger=INFO,ROLLINGFILE
zookeeper.log.dir=
zookeeper.tracelog.dir=
...
log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender
2. 还需要改${zkhome}/bin/zkEnv.sh
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/apps/logs/zookeeper"
fi
if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
参考:
http://www.tuicool.com/articles/MbUb63n
-----------------
Q: 异常:$dataDir/myid file is missing;
A:
[root@centos1 data]# vi myid
0 #或者1、2 ...
参考:http://cxyclub.cn/n/57886/