1.1下载
zookeeper下载地址 http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/
1.2安装
windows环境下直接到安装目录
linux环境使用tar解压到要安装的目录,此处以zookeeper-3.4.9.tar.gz为例
tar -xzvf zookeeper-3.4.9.tar.gz
1.3配置
在主目录下创建data和logs两个目录用于存储数据和日志:
cd /usr/local/zookeeper
mkdir data
mkdir logs
在conf目录下拷贝zoo_sample.cfg文件并重命名为zoo.cfg,写入以下内容保存:
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
# 存储快照文件目录.
dataDir=./../data
# 日志目录
dataLogDir=./../logs
# the port at which the clients will connect
# zk服务进程监听的TCP端口
clientPort=2181
1.4日志配置
1.4.1修改log4j.properties
log4j.properties在/usr/local/zookeeper/conf目录下
vim log4j.properties
#修改配置(两处修改不相邻)
zookeeper.root.logger=INFO, ROLLINGFILE
log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
1.4.2修改zkEnv.sh
修改ZOO_LOG_DIR
和ZOO_LOG4J_PROP
的值,启动服务后,zk会将日志文件保存到指定的目录下,并且文件名为log4j.properties
文件中配置的zookeeper.log
/usr/local/zookeeper/bin
vim zkEnv.sh
#修改配置
if [ "x${ZOO_LOG_DIR}" = "x" ]
then# 此处设置日志路径
ZOO_LOG_DIR="."
fiif [ "x${ZOO_LOG4J_PROP}" = "x" ]
then#将ZOO_LOG4J_PROP的值修改为INFO,ROLLINGFILE
ZOO_LOG4J_PROP="INFO,CONSOLE"
fi
1.4.3修改zkServer.sh
zkServer.sh在bin目录下
ZooKeeper在启动时会将zookeeper.out输出到当前目录,不友好
通过查看zkServer.sh脚本可以发现,脚本中没有定义ZOO_LOG_DIR变量。
#增加ZOO_LOG_DIR变量赋值
125 ZOO_LOG_DIR="$($GREP "^[[:space:]]*dataLogDir" "$ZOOCFG" | sed -e 's/.*=//')"
126 if [ ! -w "$ZOO_LOG_DIR" ] ; then
127 mkdir -p "$ZOO_LOG_DIR"
128 fi
129
130 _ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.out"
1.5启动和停止
进入bin目录,启动、停止、重启分和查看当前节点状态
./zkServer.sh start ./zkServer.sh stop ./zkServer.sh restart ./zkServer.sh status
windows环境下点击bin目录下的zkServer.cmd启动
参考:
安装教程
https://www.cnblogs.com/lsdb/p/7297731.html
https://blog.csdn.net/lihao21/article/details/51778255
配置日志教程