- 日志收集:
- hdfs的日志收集主要通過log4j日志框架實現(xiàn)。可以在hadoop的配置文件(如hdfs-site.xml)中進行相關配置,以啟用或禁用某些日志級別、輸出位置等。常見配置參數(shù)包括hadoop.root.logger、hadoop.log.dir、hadoop.log.file和hadoop.log.level。
- 日志輪轉:
- 使用logrotate進行日志輪轉管理,以防止日志文件過大。可以創(chuàng)建一個日志輪換配置文件,并添加到/etc/logrotate.d/目錄中。示例配置可能包括每天輪轉日志文件、保留7個備份文件,并且壓縮舊的日志文件。
- 日志歸檔:
- HDFS的日志文件默認存儲在/var/log/Bigdata/hdfs/目錄下,并且可以配置自動歸檔功能。當日志文件大小超過一定閾值(如100MB)時,會自動壓縮歸檔。歸檔文件名規(guī)則通常遵循原有日志名-yyyy-mm-dd_hh-mm-ss.[編號].log.zip的格式,最多保留最近的若干個壓縮文件。
- 日志分析工具:
- elk Stack(Elasticsearch、Logstash、Kibana):這是一個流行的日志分析和可視化工具組合。首先安裝elasticsearch、Logstash和Kibana,然后配置Logstash從HDFS收集日志,并將其發(fā)送到Elasticsearch,最后使用Kibana創(chuàng)建儀表板和可視化來分析日志數(shù)據(jù)。
- journalctl:這是centos 7上專有的日志管理工具,可以查看所有日志(包括內(nèi)核日志和應用日志)。可以使用journalctl命令查看所有日志、內(nèi)核日志或系統(tǒng)本次啟動的日志。
- 自定義腳本和命令行:可以編寫腳本定期檢查HDFS狀態(tài),并將結果記錄到日志或通過郵件通知管理員。例如,結合cURL命令和hdfs dfsadmin -report獲取并處理信息。
- 日志分析實戰(zhàn)技巧:
- NameNode日志分析:關鍵日志位置在HADOOP_HOME/logs/hadoop-*-namenode-*.log,重點關注WARN和Error級別日志,GC日志單獨分析。
- DataNode日志分析:實用命令組合包括實時監(jiān)控關鍵錯誤(tail -F hdfs.log | grep -E “ERROR|WARN”)、統(tǒng)計錯誤出現(xiàn)頻率(awk ‘/ERROR/{print 5}’ hdfs.log | sort | uniq -c | sort -nr)。
- 監(jiān)控和告警:
通過上述步驟,可以有效地在CentOS系統(tǒng)中配置和管理HDFS日志,確保系統(tǒng)的穩(wěn)定運行和安全性。