在 CentOS 上,HDFS 的日志配置位置和方式主要取决于你是 用 RPM/包安装(如 CDH/HDP) 还是 直接解压 tar 包安装(Apache Hadoop)。下面分情况说明。
HDFS 日志默认在:
$HADOOP_HOME/logs
例如:
/opt/hadoop/logs/
里面常见文件:
hadoop-{user}-namenode-{hostname}.loghadoop-{user}-datanode-{hostname}.loghadoop-{user}-secondarynamenode-{hostname}.log$HADOOP_HOME/etc/hadoop/log4j.properties
常用参数:
hadoop.log.dir=/data/hadoop/logs
hadoop.log.file=hadoop.log
修改后 重启 HDFS 生效。
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
例如:
export HADOOP_LOG_DIR=/data/hadoop/logs
默认在:
/var/log/hadoop-hdfs/
例如:
/var/log/hadoop-hdfs/hadoop-cmf-hdfs-NAMENODE-*.log.out
不要直接改文件,通过 Cloudera Manager:
Cloudera Manager
→ HDFS
→ 配置
→ 搜索 “Log Directory”
→ 修改后重启服务
日志路径:
/var/log/hadoop/
通过 Ambari UI:
HDFS → Configs → Advanced → hadoop-env / log4j
ps -ef | grep namenode
看启动参数里的 -Dhadoop.log.dir
在 log4j.properties 中开启滚动:
log4j.appender.RFA=org.apache.log4j.RollingFileAppender
log4j.appender.RFA.MaxFileSize=100MB
log4j.appender.RFA.MaxBackupIndex=10
确保目录可写:
chown -R hdfs:hadoop /data/hadoop/logs
如果你能告诉我:
我可以给你精确到文件的配置示例。