HDFS的日志文件默认存储在**/var/log/hadoop-hdfs/**目录下(部分系统可能使用/var/log/Bigdata/hdfs/,具体取决于Hadoop发行版或自定义配置)。不同组件的日志文件命名规则如下:
hadoop-<username>-namenode-<hostname>.log(如hadoop-root-namenode-centos7.log)hadoop-<username>-datanode-<hostname>.log(如hadoop-root-datanode-centos7.log)hadoop-<username>-secondarynamenode-<hostname>.loghadoop-<username>-journalnode-<hostname>.log此外,部分系统会单独存储审计日志(如/var/log/Bigdata/audit/hdfs/nn/对应NameNode审计日志),用于记录权限相关的操作。
tail -f命令跟踪日志文件的最新内容(适用于故障排查时实时监控)。tail -f /var/log/hadoop-hdfs/hadoop-root-namenode-centos7.log
grep命令过滤关键词(如时间、错误类型)。grep '2025-10-09' /var/log/hadoop-hdfs/hadoop-root-namenode-centos7.log | grep 'ERROR'
cat或less命令查看整个日志文件(适用于小文件)。less /var/log/hadoop-hdfs/hadoop-root-datanode-centos7.log
若默认路径下未找到日志,可通过以下配置文件确认自定义路径:
hdfs-site.xml:检查dfs.namenode.log.dir(NameNode日志路径)、dfs.datanode.log.dir(DataNode日志路径)等配置项。dfs.namenode.log.dir):cat /etc/hadoop/conf/hdfs-site.xml | grep "dfs.namenode.log.dir"
HADOOP_LOG_DIR变量(部分系统通过该变量指定日志根目录)。echo $HADOOP_LOG_DIR
为避免日志文件过大,系统通常会配置logrotate工具自动轮转日志。默认配置文件位于/etc/logrotate.d/hadoop-hdfs,示例配置如下:
/var/log/hadoop-hdfs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root root
}
该配置表示:每日轮转日志,保留7个压缩备份(如.log.1.gz),空日志不轮转,创建新日志时权限为0640。
通过以上方法,可快速定位并查看CentOS上HDFS的日志文件,为故障排查提供依据。若仍无法找到日志,建议检查Hadoop服务是否正常运行(systemctl status hadoop-hdfs-namenode)或联系集群管理员确认配置。