zookeeper配置信息和工具类学习

 

 

 

1.  删除日志方法和快照文件方法

 

1》自动删除日子功能

 

java -Djava.ext.dirs=lib org.apache.zookeeper.server.PurgeTxnLog log_path snap_path -n 10

 

log_path: 日志的路径

 

snap_path:数据快照路径

 

其中-n 表示要保留多少个文件,不能低于3本例表示10条数据

 

Lib :表示 jar包库路径

 

实例:

 

java -Djava.ext.dirs=lib org.apache.zookeeper.server.PurgeTxnLog /usr/zookeeper-3.4.6_2/data /usr/zookeeper-3.4.6_2/logs -n

 

2》己编写脚本删除 日志和快照数据

 

Vi deleteLogAndSnapshot.sh

 

#!/bin/bash
#snapshot file dir
dataDir=/usr/zookeeper/data/snapshot/version-2
#tran log dir
dataLogDir=/usr/zookeeper/log/snapshot/version-2
#zk log dir
#Leave 10 files
count=10
count=$[$count+1]
ls -t $dataLogDir/log.* | tail -n +$count | xargs rm -f
ls -t $dataDir/snapshot.* | tail -n +$count | xargs rm -f
加入定时任务:

 

crontab –e

 

2 2 * * * /usr/zookeeper/bin/deleteLogAndSnapshot.sh > /dev/null 2>&1

 

cron文件语法:

 

分 小时 日 月 星期 命令

 

0-59 0-23 1-31 1-12 0-6 command

 

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

 

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
  crontab -l //列出某个用户cron服务的详细内容
  crontab -r //删除没个用户的cron服务
  crontab -e //编辑某个用户的cron服务
  比如说root查看自己的cron设置:crontab -u root -l
  再例如,root想删除fred的cron设置:crontab -u fred -r
  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

 

3》从3.4.0开始,zookeeper在zoo.cfg中提供了自动清理snapshot和事务日志的功能,通过配置 autopurge.snapRetainCount 和 autopurge.purgeInterval 这两个参数能够实现定时清理了。这两个参数都是在zoo.cfg中配置的:
autopurge.purgeInterval  这个参数指定了清理频率,单位是小时,需要填写一个1或更大的整数,默认是0,表示不开启自己清理功能。
autopurge.snapRetainCount 这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。

 

2.  设置zookeeper 内存

 

zookeeper/bin/zkEnv.sh

 

安装的时候这个路径下没有有java.env文件,需要自己新建一个:

vi java.env

java.env文件内容如下:

 

#!/bin/sh

export JAVA_HOME=/usr/java/jdk

# heap size MUST be modified according to cluster environment

export JVMFLAGS="-Xms512m -Xmx1024m $JVMFLAGS"

对于内存的分配,还是根据项目和机器情况而定。如果内存够用,适当的大点可以提升zk性能

 

3. zookeeper 命令

 

Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

 

 

 

4. zookeeper 查看日志命令

 

java -classpath .:slf4j-api-1.6.1.jar:zookeeper-3.4.9.jar  org.apache.zookeeper.server.LogFormatter   ../Data/datalog/version-2/log.1

 

进入lib

 

java -classpath .:slf4j-api-1.6.1.jar:zookeeper-3.4.6.jar  org.apache.zookeeper.server.LogFormatter   ../logs/version-2/log.dc81

 

5. 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.

 

# do not use /tmp for storage, /tmp here is just

 

# example sakes.

 

#保存快照文件

 

dataDir=/usr/zookeeper-3.4.6_2/data

 

### log file 保存日志文件

 

dataLogDir=/usr/zookeeper-3.4.6_2/logs

 

# the port at which the clients will connect

 

clientPort=2181

 

# the maximum number of client connections.

 

# increase this if you need to handle more clients

 

#maxClientCnxns=60

 

#

 

# Be sure to read the maintenance section of the

 

# administrator guide before turning on autopurge.

 

#

 

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

 

#

 

# The number of snapshots to retain in dataDir  保留快照文件个数 默认3

 

autopurge.snapRetainCount=3

 

# Purge task interval in hours

 

# Set to "0" to disable auto purge feature 1小时清理一下日志

 

autopurge.purgeInterval=1

 

 

 

#2888,3888 are election port 设置集群通讯

 

 

 

#server.1=192.168.90.107:2889:3881

 

#server.2=192.168.6.24:2890:3882

 

 

 

#其中,

 

#2888 端口号是 zookeeper 服务之间通信的端口。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值