在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存在这个目录中,关于这两个目录的详细说明,请看《ZooKeeper管理员指南
》)。
正常运行过程中,ZK会不断地把快照数据和事务日志输出到这两个目录,并且如果没有人为操作的话,ZK自己是不会清理这些文件的,需要管理员来清理,这里介绍4种清理日志的方法。在这4种方法中,推荐使用第一种方法,对于运维人员来说,将日志清理工作独立出来,便于统一管理也更可控。毕竟zk自带的一些工具并不怎么给力,这里是社区反映的两个问题:
https://issues.apache.org/jira/browse/ZOOKEEPER-957
http://zookeeper-user.578899.n2.nabble.com/PurgeTxnLog-td6304244.html
第一种,也是运维人员最常用的,写一个删除日志脚本,每天定时执行即可:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/bin/bash #snapshot file dir dataDir=/home/nileader/taokeeper/zk_data/version-2 #tran log dir dataLogDir=/home/nileader/taokeeper/zk_log/version-2 #zk log dir logDir=/home/nileader/taokeeper/logs #Leave 60 files count=60 count=$[ $count +1]
ls -t $dataLogDir / log .* | tail -n + $count | xargs rm -f
ls -t $dataDir /snapshot.* | tail -n + $count | xargs rm -f
ls -t $logDir /zookeeper. log .* | tail -n + $count | xargs rm -f
|
以上这个脚本定义了删除对应两个目录中的文件,保留最新的60个文件,可以将他写到crontab中,设置为每天凌晨2点执行一次就可以了。
第二种,使用ZK的工具类PurgeTxnLog,它的实现了一种简单的历史文件清理策略,可以在这里看一下他的使用方法:http://zookeeper.apache.org/doc/r3.4.3/api/index.html,可以指定要清理的目录和需要保留的文件数目,简单使用如下:
-
java -cp zookeeper.jar:lib/slf4j-api-1.6.1.jar:lib/slf4j-log4j12-1.6.1.jar:lib/log4j-1.2.15.jar:conf org.apache.zookeeper.server.PurgeTxnLog <dataDir><snapDir> -n <count>
第三种,对于上面这个Java类的执行,ZK自己已经写好了脚本,在bin/zkCleanup.sh中,所以直接使用这个脚本也是可以执行清理工作的。
第四种,从3.4.0开始,zookeeper提供了自动清理snapshot和事务日志的功能,通过配置 autopurge.snapRetainCount 和 autopurge.purgeInterval 这两个参数能够实现定时清理了。这两个参数都是在zoo.cfg中配置的:
autopurge.purgeInterval 这个参数指定了清理频率,单位是小时,需要填写一个1或更大的整数,默认是0,表示不开启自己清理功能。
autopurge.snapRetainCount 这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。
相关推荐
里面包含关于zookeeper学习需要的软件,如:zookeeper-3.4.5.tar.gz、zookeeper-3.4.5.jar、zkclient-0.1.jar、curator-client-2.4.2等相关jar包
文件名 : ZooInspector.rar 文件夹名: zookeeper 文件名 : zookeeper-3.4.5.tar.gz 文件名 : ZooKeeper典型应用场景.pdf 文件名 : zookeeper文档.pdf 文件名 : zookeeper课上...文件名 : zookeepr资料及代码.7z
zookeeper的使用说明和应用场景
zookeeper源码,包含java和C
动物园管理员
zookeeper官方的最新版,截止到2018年4月22日,最近两年都没啥问题
Spring Cloud微服务⾯试题 1. Spring Cloud Netflix 和 Spring Cloud Alibaba 包括哪些组件 2. Nacos是CP还是AP? ... 4. Nacos如何实现就近访问? 5. Nacos底层负载均衡底层原理 ...8. Nacos中的Distro协议 ...
简介zkui它提供了一个管理界面,可以针对zookeepr的节点值进行CRUD操作,同时也提供了安全认证。
zookeeper连接工具,可视化数据查看
安装zookeepr,kafka和Spark: 在$ HOME / Software目录下 启动zookeepr,kafka和Spark: bin / startAllServers.sh 停止zookeepr,kafka和Spark: bin / stopAllServers.sh 下载并编译并运行: 在$ HOME / ...
包含阿里分布式开源框架dubbo视频详解,dubbo工具包,源码分析,zookeepr视频,mycat介绍
Demo地址:...由于嫌麻烦 依赖基本都放到模块外部的project pom里了, 大家可以选择导入相应的子模块。 consumer pom.xml DubboDemo02 ... 1.0-SNAPSHOT 4.0.0 user-consumer ...provider pom.xml
ZooKeeper 未授权访问漏洞处理方法和重设setAcl,需要设置超级管理密码后,方可修改
kafka在centos7上搭建过程,包括jdk配置,环境变量配置,zookeepr搭建,以及使用springboot集成kafka的小demo用例
之前自己学的时候出现了很多的问题,也记录了,新增自己整理出来一个linux环境下手把手教你安装详细的zookeepr安装,自己整理的,大家可以借鉴