記一次CDH集群日志數據清理


背景

集群運行一段時間(大概一月多)后,cloudera manager管理界面出現爆紅,爆紅的組件有hdfs、zookeeper。

發現問題

點擊詳細內容查看,報日志空間不夠的錯誤。初步判斷是各個組件的日志數據把空間占滿了。

查看各個目錄下磁盤占用情況

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

 

# 設置每周五的下午7點執行
00 19 * * 5 sh /root/clearLog.sh

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM