Clickhouse集群_Zookeeper配置的dataDir目录磁盘占有率接近100%时,该dataDir目录是否可以清理及如何清理的脚本

官方文档https://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#Ongoing+Data+Directory+Cleanup

监控报警发现clickhouse集群环境的数据库节点磁盘报警,检查下来发现/chdata/zookeeper/data/version-2/目录特别大,里面包含了log.*文件和snapshot.*文件,检查zooker的配置文件/chdata/zookeeper/apache-zookeeper-3.7.1-bin/conf/zoo.cfg发现该路径配置的是dataDir,查看zookeeper的官方文档发现参数dataDir的说明如下

root@CHDB001:~# du -sh /chdata/zookeeper/data/*
4.0K    /chdata/zookeeper/data/myid
56G     /chdata/zookeeper/data/version-2
4.0K    /chdata/zookeeper/data/zookeeper_server.pidroot@CHDB001:~# ll /chdata/zookeeper/data/version-2/ -rt |tail -4
-rw-r--r-- 1 root root  3106008 Oct 21 03:52 snapshot.31ea7df7f
-rw-r--r-- 1 root root 67108880 Oct 21 04:40 log.31ea7df81
-rw-r--r-- 1 root root  3009585 Oct 21 04:40 snapshot.31ea8b8cf
-rw-r--r-- 1 root root 67108880 Oct 21 05:43 log.31ea8b8d1root@CHDB001:~# cat /chdata/zookeeper/apache-zookeeper-3.7.1-bin/conf/zoo.cfg |grep dataDir
dataDir=/chdata/zookeeper/data

The ZooKeeper Data Directory contains files which are a persistent copy of the znodes stored by a particular serving ensemble. These are the snapshot and transactional log files. As changes are made to the znodes these changes are appended to a transaction log, occasionally, when a log grows large, a snapshot of the current state of all znodes will be written to the filesystem. This snapshot supercedes all previous logs.
A ZooKeeper server will not remove old snapshots and log files, this is the responsibility of the operator. Every serving environment is different and therefore the requirements of managing these files may differ from install to install (backup for example).
ZooKeeper 数据目录包含的文件是由特定服务整体存储的 znode 的持久副本。这些是快照和事务日志文件。当对 znode 进行更改时,这些更改会附加到事务日志中,有时,当日志变大时,所有 znode 当前状态的快照将写入文件系统。此快照取代所有以前的日志。
ZooKeeper 服务器不会删除旧的快照和日志文件,这是操作员的责任。每个服务环境都不同,因此管理这些文件的要求可能因安装而异(例如备份)。

dataDir:the location where ZooKeeper will store the in-memory database snapshots and, unless specified otherwise, the transaction log of updates to the database.
dataDir:ZooKeeper 存储内存数据库快照的位置,除非另有指定,否则存储数据库更新的事务日志。

通过官方文档的说明,了解到zookeeper参数dataDir对应的目录下面的log文件和snapshot文件可以删除,当然也发现zookeeper配置文件中一段注释的说明如下,更说明zookeeper参数dataDir对应的目录下面的log文件和snapshot文件可以删除

# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

配置了一个crontab

0 18 * * * sh /root/script/clickhouse_removelogsnapshot.sh

crontab对应的可以执行文件/root/script/clickhouse_removelogsnapshot.sh内容如下

#!/bin/bashremovedate=`date +%Y%m%d`echo " ">>/root/clickhouse_removelogsnapshot/clickhouse_removelogsnapshot_$removedate.log
echo "++++++++++++++++++++++++++++++++++++++++++++++++">>/root/clickhouse_removelogsnapshot/clickhouse_removelogsnapshot_$removedate.log
echo "  Begin to remove...">>/root/clickhouse_removelogsnapshot/clickhouse_removelogsnapshot_$removedate.logfind /chdata/zookeeper/data/version-2/ -name 'log.*' -ctime +90 -exec ls -l {} \; >>/root/clickhouse_removelogsnapshot/clickhouse_removelogsnapshot_$removedate.log
find /chdata/zookeeper/data/version-2/ -name 'log.*' -ctime +90 -exec rm -rf {} \;find /chdata/zookeeper/data/version-2/ -name 'snapshot.*' -ctime +90 -exec ls -l {} \; >>/root/clickhouse_removelogsnapshot/clickhouse_removelogsnapshot_$removedate.log
find /chdata/zookeeper/data/version-2/ -name 'snapshot.*' -ctime +90 -exec rm -rf {} \;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/57533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:模板的特化与分离编译

之前我们在介绍模板的时候仅仅是简单的介绍了模板的用法,本篇文章我们来详细的介绍下模板中比较重要的几个点。 一,非类型模板参数 我们之前的c中,会将经常使用的而又确保在我们程序的运行过程中值不会改变的值进行#define: #d…

初入编程之路,启航代码海

#1024程序员节|征文# 前言 今天又是1024程序员节了,第一次听说这个节日是在我在23年刚刚上大一的时候听学长他们说的,如今已经是24年了,虽然只学习了一年的编程但我已经了解到了这条路上的不易。希望能够在这条路上面一路坚持下去&#xff0…

力扣_斐波那契数列

本题目本质和爬楼梯是一样的,主要运用的是递归来解题。 class Solution:my_dict {}def fib(self, n: int) -> int:if self.my_dict.get(n) is not None: # 先判断有没有计算过这个值return self.my_dict.get(n)tempResult 0if n > 2:tempResult self.fib…

075_基于springboot的万里学院摄影社团管理系统

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

MySql中使用findInSet和collection实践

FIND_IN_SET 需求如下:有张用户表,表里有个字段叫school,意为这个用户上过哪些学校,数据库里存的就是字符串类型,存的值类似"2,5,12",要求就是查询出上过id为2的学校有哪些用户 解决方法&#x…

【JAVA毕设】基于JAVA的酒店管理系统

一、项目介绍 本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router实现动态路由,Ajax实现前后端通信,Element-plus组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis、…

qt生成uuid,转成int。ai回答亲测可以

// 生成一个随机的UUID QUuid uuid QUuid::createUuid(); // 将UUID转换为字符串 QString uuidStr uuid.toString(QUuid::WithoutBraces);// 计算MD5哈希值 QByteArray hash QCryptographicHash::hash(uuidStr.toUtf8(), QCryptographicHash::Md5);// 提取前8个字节并转换为…

云曦10月13日awd复现

一、防御 1、改用户密码 passwd <user> 2、改数据库密码 进入数据库 mysql -uroot -proot 改密码 update mysql.user set passwordpassword(新密码) where userroot; 查看用户信息密码 select host,user,password from mysql.user; 改配置文件&#xff0c;将密码改为自己…

电脑技巧:Rufus——最佳USB启动盘制作工具指南

目录 一、功能强大&#xff0c;兼容性广泛 二、界面友好&#xff0c;操作简便 三、快速高效&#xff0c;高度可定制 四、安全可靠&#xff0c;社区活跃 在日常的电脑使用中&#xff0c;无论是为了安装操作系统、修复系统故障还是进行其他需要可引导媒体的任务&#xff0c;拥…

使用 Python结合随机User-Agent与代理池进行网络请求

1. 引言 在爬虫开发过程中&#xff0c;为了模拟真实的用户行为&#xff0c;避免被目标网站识别并封锁&#xff0c;通常需要使用随机的User-Agent以及代理IP来发送网络请求。本文将介绍如何通过Python实现这一功能&#xff0c;包括设置随机User-Agent、读取代理列表&#xff0c…

web网页

HTML代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>wyy</title><!-- 引…

VSCODE c++不能自动补全的问题

最近安装了vscode&#xff0c;配置了C/C扩展&#xff0c;也按照网上说的配置了头文件路径 我发现有部分头文件是没办法解析的&#xff0c;只要包含这些头文件中的一个或者多个&#xff0c;就没有代码高亮和代码自动补全了&#xff0c;确定路径配置是没问题的&#xff0c;因为鼠…

Linux笔记之文件查找和搜索命令which,find,locate,whereis总结

Linux笔记之文件查找和搜索命令which,find,locate,whereis总结 code review! 文章目录 Linux笔记之文件查找和搜索命令which,find,locate,whereis总结1.对比2.whereis 和 which 命令区别3.locate 和 find 命令区别 1.对比 命令功能说明备注which常用于查找可直接执行的命令。…

基于ssm的萌宠商城管理系统【附源码】

基于ssm的萌宠宜家商城系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 系统概述 4.2 系统概要设计 4.3 系统功能结构设计 4.4 数据库设计 4.4.1 数据库E-R图设计 4.4.2 数据库表结构设计 5 系统实现 5.1 管理员功能介绍 …

【C++中的lambda表达式】

不需要借口&#xff0c;爱淡了就放手....................................................................................................... 文章目录 前言 一、【lambda表达式介绍】 1、【lamda表达式的概念】 2、【lamda表达式的语法】 二、【lambda表达式的使用】…

CAS简介

#1024程序员节&#xff5c;征文# CAS是什么&#xff1f; CAS&#xff08;Compare And Swap&#xff09;&#xff0c;即比较与交换&#xff0c;是一种乐观锁的实现方式&#xff0c;用于在不使用锁的情况下实现多线程之间的变量同步。 CAS操作包含三个操作数&#xff1a;内存位…

Stability.AI 发布 SD3.5 模型,能否逆袭击败 FLUX?如何在ComfyUI中的使用SD3.5?

就在前天&#xff0c;Stability AI 正式发布了 Stable Diffusion 3.5版本&#xff0c;包括 3 款强大的模型&#xff1a; Stable Diffusion 3.5 Large&#xff1a;拥有 80 亿参数&#xff0c;提供卓越的图像质量和精确的提示词响应&#xff0c;非常适合在 1 兆像素分辨率下的专…

鸿蒙开发:走进stateStyles多态样式

前言 一个组件&#xff0c;多种状态下&#xff0c;我们如何实现呢&#xff1f;举一个很简单的案例&#xff0c;一个按钮&#xff0c;默认状态下是黑色背景&#xff0c;点击后是红色&#xff0c;手指放开后还原黑色。 我们自然而然的就会想到利用手势的按下和抬起&#xff0c;…

美课+, 一个公司老项目,一段程序猿的技术回忆

前言 "美课"项目从2018年3月26号开始启动到2018年6月8号结束,总计两个月多的时间,项目的时间节点比较紧张.虽然最后没有上线很遗憾,但是,不管是在流程和项目上,对自己都是一次不错的尝试.下面我就对这次项目做一下iOS端的整体总结. #### 技术难点 *** 在iOS端,我感到…

鸿蒙应用开发:数据持久化

最近在搞公司项目用到了鸿蒙端的数据持久化&#xff0c;特来跟大家分享一下。 在鸿蒙开发中&#xff0c;可以使用以下几个包来实现数据的持久化处理&#xff1a; Data Ability 通过数据能力组件&#xff0c;开发者可以实现复杂的数据操作&#xff0c;包括增、删、改、查等功…