Hadoop的日志文件集中存储在$HADOOP_HOME/logs
目录下(如hadoop-*-namenode-*.log
、hadoop-*-datanode-*.log
),包含集群运行的详细状态和错误信息。使用tail -f
命令实时监控日志(如tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log
),或通过grep
过滤特定错误(如grep "ERROR" $HADOOP_HOME/logs/*.log
),快速定位问题根源。
使用jps
命令列出所有Java进程,检查核心组件是否正常运行:
$HADOOP_HOME/sbin/start-dfs.sh
启动HDFS服务)或日志中的启动错误。Hadoop集群依赖节点间的网络通信,使用ping
命令测试所有节点之间的连通性(如ping <datanode-ip>
)。若存在网络问题,需检查:
/etc/network/interfaces
或Netplan配置);/etc/hosts
文件是否包含所有节点的主机名和IP映射(避免DNS解析问题);Hadoop的核心配置文件(位于$HADOOP_HOME/etc/hadoop/
目录)需仔细核对,常见错误包括:
core-site.xml
中的fs.defaultFS
(NameNode地址,如hdfs://namenode:9000
)配置错误;hdfs-site.xml
中的dfs.namenode.name.dir
(NameNode元数据存储路径)或dfs.datanode.data.dir
(DataNode数据存储路径)不存在或权限不足;yarn-site.xml
中的yarn.resourcemanager.hostname
(ResourceManager地址)配置错误。若发现异常(如进程崩溃、配置变更未生效),可通过以下命令重启服务:
# 停止所有Hadoop服务
$HADOOP_HOME/sbin/stop-all.sh
# 启动所有Hadoop服务
$HADOOP_HOME/sbin/start-all.sh
重启前建议备份重要数据(如HDFS中的文件),避免数据丢失。
通过浏览器访问Hadoop的Web管理界面,直观查看集群状态:
http://<namenode-ip>:9870
(Hadoop 3.x版本);http://<resourcemanager-ip>:8088
;http://<resourcemanager-ip>:8088/cluster
。使用系统监控工具检查资源使用情况,找出性能瓶颈:
top
:实时显示CPU、内存占用率,识别占用过高的进程;iostat -x 1
:查看磁盘I/O使用率(如%util
接近100%表示磁盘瓶颈);vmstat 1
:查看内存交换(si/so
值过高表示内存不足)、进程调度等情况。yarn.scheduler.maximum-allocation-mb
设置YARN任务最大内存)或升级硬件。Debian的系统日志(/var/log/syslog
)和内核日志(dmesg
)可能记录与Hadoop相关的系统级错误(如磁盘故障、内存溢出)。使用以下命令查看:
# 实时查看系统日志
tail -f /var/log/syslog
# 查看内核日志
dmesg | grep -i error
# 使用journalctl查看系统日志(Systemd系统)
journalctl -xe | grep hadoop
系统日志中的错误信息可辅助排查底层系统问题。
-Xmx
、-Xms
),在$HADOOP_HOME/etc/hadoop/hadoop-env.sh
中设置export HADOOP_NAMENODE_OPTS="-Xmx4g"
(根据节点内存调整);hdfs dfsadmin -safemode leave
命令强制退出;/etc/ssh/sshd_config
,添加UseDNS no
,重启SSH服务(systemctl restart ssh
)。