You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hadoop-3.2.2集群MapReduce计算PI报错:主类未找到及容器异常

Hadoop 3.2.2 MapReduce PI计算容器退出码1问题排查与修复

可能的原因

  • 节点资源不足:容器申请的CPU、内存超出NodeManager可用资源,或节点本身内存/CPU负载过高,导致容器无法正常启动
  • 权限配置错误:MapReduce作业运行用户对HDFS临时目录、日志目录无读写权限,或NodeManager本地目录权限异常
  • JDK环境不兼容:集群节点JDK版本不符合Hadoop 3.2.2要求(需JDK 8),或NodeManager节点JAVA_HOME环境变量未正确配置
  • NodeManager参数配置异常:yarn-site.xml中容器资源参数(如内存、CPU核心数)设置不合理,或容器启动相关配置项错误

修正方法

  • 检查并调整节点资源
    • 用free -h、top命令查看节点内存、CPU使用情况,确保有足够空闲资源分配给容器
    • 修改yarn-site.xml:设置yarn.nodemanager.resource.memory-mb不超过节点实际内存的80%,yarn.nodemanager.resource.cpu-vcores不超过节点CPU核心数的70%,修改后重启NodeManager服务
  • 修复权限问题
    • 检查HDFS临时目录权限,执行hdfs dfs -chmod -R 777 /tmp/hadoop-yarn(生产环境建议为作业运行用户设置专属权限)
    • 验证NodeManager本地目录(yarn.nodemanager.local-dirs配置路径)的权限,确保运行NodeManager的用户拥有读写权限
  • 验证JDK环境配置
    • 在所有集群节点执行java -version,确认版本为JDK 8
    • 检查hadoop-env.sh文件,确保export JAVA_HOME=/path/to/jdk8配置正确,重启NodeManager
  • 排查NodeManager配置
    • 确认yarn-site.xml中yarn.nodemanager.container-executor.class配置为org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor
    • 检查yarn.nodemanager.log-dirs配置的目录是否存在且有权限,确保日志文件能正常写入

内容的提问来源于stack exchange,提问作者JiaRu Xu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 21:52:39