Ubuntu HDFS日志分析方法如下:
-
日志文件定位
- NameNode日志:
/var/log/hadoop-hdfs/hadoop-*-namenode-*.log - DataNode日志:
/var/log/hadoop-hdfs/hadoop-*-datanode-*.log
- NameNode日志:
-
常用命令行工具
- 实时查看:
tail -f <日志文件>,如tail -f /var/log/hadoop-hdfs/hadoop-namenode-*.log。 - 搜索关键词:
grep "ERROR" <日志文件>,统计错误次数| wc -l。 - 统计分析:
awk提取字段并排序,如awk '/ERROR/ {print $5}' <日志文件> | sort | uniq -c | sort -nr。
- 实时查看:
-
工具化分析
- ELK Stack:通过Logstash采集日志,Kibana可视化分析。
- HDFS命令行工具:
hdfs fsck / -files -blocks:检查块完整性。hdfs dfsadmin -report:查看集群健康状态。
-
故障排查场景
- 块丢失:通过
hdfs fsck定位损坏块,修复或删除。 - 副本不足:用
hdfs dfsadmin -refreshNodes刷新节点,补充副本。 - NameNode异常:分析GC日志,调整堆内存参数
HADOOP_HEAPSIZE。
- 块丢失:通过
-
日志管理建议
- 配置
logrotate定期归档日志,避免磁盘占满。 - 关键日志需长期保存,用于离线分析。
- 配置
参考来源: