记一次CDH集群节点日志文件清理

集群运行一段时间(大概一月多)后,cloudera manager管理界面出现爆红,爆红的组件有hdfs、zookeeper,后续出现集群卡顿宕死。

发现问题
点击详细内容查看,报日志空间不够的错误。初步判断是各个组件的日志数据把空间占满了。因系统设置日志存储盘符50G。

查看各个目录下磁盘占用情况

df -h
cdh的各组件的日志一般在/var/log目录下,因此主要关注“/”

查看/var/log下使用空间较大的文件夹,并由大到小排列

cd /var/log/
du -s ./* | sort -nr

还有一个是 Cloudera Management Service服务产生的日志,存在/var/lib/…

cd /var/lib/cloudera-service-monitor
du -s ./* | sort -nr

清理日志
清理cm、cdh组件的日志数据
进入对应的目录,删除文件后缀是数字的日志。

cd /var/log/hadoop-mapreduce
cd /var/log/hadoop-hdfs
cd /var/log/zookeeper
cd /var/log/hive
cd /var/log/cloudera-scm-agent
cd /var/log/audit
cd /var/log/sa
cd /var/log/hadoop-yarn
cd /var/log/hue-httpd

rm -rf .out.
rm -rf .log.
清理监控服务的数据
本次bug的罪魁祸首,监控服务的四个进程全都在一个节点上,监控服务单独用了20G的空间

删除监控服务的日志

rm /var/lib/cloudera-host-monitor/ts//partition/* -rf
rm /var/lib/cloudera-service-monitor/ts//partition/* -rf

自动化脚本
写脚本,设置定时任务,实现自动化清理日志

脚本,目前只针对hdfs、zookeeper、cm的日志进行清理,可根据需要添加其他组件的日志清理

vim cleanLog.sh

#!/bin/bash

clear cloudera manager monitor log

rm /var/lib/cloudera-host-monitor/ts//partition/* -rf
rm /var/lib/cloudera-service-monitor/ts//partition/* -rf

clear cdh log

rm -rf /var/log/cloudera-scm-eventserver/.out.
rm -rf /var/log/cloudera-scm-firehose/.out.
rm -rf /var/log/cloudera-scm-agent/.log.
rm -rf /var/log/cloudera-scm-agent/.out.
rm -rf /var/log/cloudera-scm-server/.out.
rm -rf /var/log/cloudera-scm-server/.log.

rm -rf /var/log/hadoop-hdfs/.out.
rm -rf /var/log/hadoop-httpfs/.out.
rm -rf /var/log/hadoop-kms/.out.
rm -rf /var/log/hadoop-mapreduce/.out.

rm -rf /var/log/zookeeper/.log.

设置定时任务

crontab -e

设置每周五的下午8点执行

00 20 * * 5 sh /root/clearLog.sh

猜你喜欢

转载自blog.csdn.net/weixin_43214644/article/details/115243500
今日推荐