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)。