首页 > 自动化运维 > 应用服务器 > 最新版zookeeper配置看这一篇就够了
解压、移动
# tar -zxf zookeeper-3.4.12.tar.gz # mv zookeeper-3.4.6 /usr/local/zookeeper
配置
#进入zookeeper目录cd /usr/local/zookeeper/#新建日志文件夹$ mkdir -p /var/zookeeper/data $ mkdir -p /var/zookeeper/datalogs $ mkdir -p /var/zookeeper/logs
$ cd /conf $ mp zoo_sample.cfg zoo.cfg $ vi /conf/zoo.cfg
tickTime=2000 dataDir=/var/zookeeper/data dataLogDir=/var/zookeeper/datalogs clientPort=2181 autopurge.snapRetainCount=10 autopurge.purgeInterval=48
zookeeper有三种日志:快照日志,事务日志,log4j日志
zoo.cfg中的dataDir是快照日志;datalogDir是事务日志;
log4j配置了集群的服务器日志:该日志的配置地址在conf/目录下的log4j.properties文件中,该文件中有一个配置项为“zookeeper.log.dir=.”,表示log4j日志文件在与执行程序(zkServer.sh)在同一目录下。当执行zkServer.sh时,在该文件夹下会产生zookeeper.out日志文件。
zookeeper默认将事务日志文件和快照日志文件都存储在dataDir对应的目录下。建议将事务日志(dataLogDir)与快照日志(dataLog)单独配置,因为当zookeeper集群进行频繁的数据读写操作是,会产生大量的事务日志信息,将两类日志分开存储会提高系统性能,而且,可以允许将两类日志存在在不同的存储介质上,利用磁盘顺序写的特性,提高日志写入速度。
进入conf,修改log4j.properties
$ vi conf/log4j.properties #将以下配置: zookeeper.root.logger=INFO, CONSOLE log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender #修改为: zookeeper.root.logger=INFO, ROLLINGFILE log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender
进入 zookeeper/bin目录,修改zkEnv.sh
$ vi /bin/zkEnv.sh
## 将以下配置:
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="."
fi
if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,CONSOLE"
fi
## 修改为:
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/var/local/zookeeper/logs"
fi
if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
经过配置zoo.cfg,log4j.properties,zkEnv.sh后,我的zookeeper的几个日志目录如下:
数据快照日志
- /zookeeper/data
事务日志
- /zookeeper/datalogs
服务器日志
- /zookeeper/logs
$ /usr/local/zookeeper/bin/zkServer.sh start # 遇到zookeeper_server.pid没有写权限,给这个目录加权限 $ sudo chown :kfk:kfk /var/zookeeper/data
$ cd zookeeper/bin $ zookeeper-shell localhost:2181 #启动zookeeper-shell
ZooKeeper -server host:port cmd args stat path [watch] set path data [version] ls path [watch] #查看 delquota [-n|-b] path ls2 path [watch] setAcl path acl setquota -n|-b val path history redo cmdno printwatches on|off delete path [version] sync path listquota path rmr path get path [watch] #获得路径下的内容 create [-s] [-e] path data acl addauth scheme auth quit getAcl path close connect host:port
cd ~ vi .bashrc # alias zookeeper_start='/usr/local/zookeeper/bin/zkServer.sh start' # alias zookeeper_stop='/usr/local/zookeeper/bin/zkServer.sh stop' source .bashrc

来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31374736/viewspace-2850237/ ,如需转载,请注明出处,否则将追究法律责任。