ubuntu

Hadoop日志Ubuntu上如何查看

小樊
46
2025-10-19 00:19:57
栏目: 智能运维

Hadoop日志在Ubuntu上的查看方法

一、日志文件位置

Hadoop运行时产生的日志默认存储在$HADOOP_HOME/logs目录下($HADOOP_HOME为Hadoop安装根目录,如~/hadoop-3.3.1)。若在hadoop-env.sh中配置了HADOOP_LOG_DIR环境变量(如export HADOOP_LOG_DIR=/data/hadoop-logs),则日志会存储在该自定义目录中。

二、常用日志查看命令

1. 实时查看日志更新

使用tail -f命令可实时跟踪日志文件的新增内容,适用于监控正在运行的Hadoop组件状态(如NameNode、DataNode)。例如:

tail -f $HADOOP_HOME/logs/hadoop-<username>-namenode-<hostname>.log
tail -f $HADOOP_HOME/logs/hadoop-<username>-datanode-*.log

其中<username>为当前Ubuntu用户名(如hadoop),<hostname>为服务器主机名(如ubuntu-server)。

2. 查看日志文件头部/内容

3. 搜索特定错误信息

使用grep命令结合关键字过滤日志,快速定位问题。例如搜索“ERROR”级别的日志:

grep "ERROR" $HADOOP_HOME/logs/hadoop-<username>-datanode-*.log
grep "Connection refused" $HADOOP_HOME/logs/hadoop-<username>-resourcemanager-*.log

4. 查看指定行范围

使用sed命令查看日志文件的某一行或某一段落,例如查看第2行至第200行:

sed -n '2,200p' $HADOOP_HOME/logs/hadoop-<username>-namenode-*.log

三、Hadoop组件对应日志文件

Hadoop各核心组件的日志文件命名规则如下,可根据组件名称快速定位日志:

四、进阶:通过Hadoop命令查看作业日志

若需查看MapReduce或Spark作业的详细日志,可使用YARN提供的yarn logs命令。例如:

yarn logs -applicationId <application_id>

其中<application_id>为作业的唯一标识(可通过yarn application -list命令获取)。该命令会输出作业的stdout、stderr及系统日志,帮助定位作业执行中的问题。

0
看了该问题的人还看了