hadoop01@hadoop01:/usr/local/hadoop/logs$ $HADOOP_HOME/sbin/start-yarn.sh Starting resourcemanager Starting nodemanagers hadoop01@hadoop01:/usr/local/hadoop/logs$ sudo netstat -tulnp | grep -E '8032|8088' hadoop01@hadoop01:/usr/local/hadoop/logs$ jps 4004 DataNode 4421 SecondaryNameNode 26725 Jps 3833 NameNode hadoop01@hadoop01:/usr/local/hadoop/logs$
时间: 2025-05-31 11:36:42 AIGC 浏览: 42
### 排查 Hadoop YARN ResourceManager 和 NodeManager 启动问题
当遇到 Hadoop YARN 的 ResourceManager 或 NodeManager 未正常运行的情况时,可以按照以下方法进行排查:
#### 1. 检查服务状态
通过命令行工具确认 ResourceManager 和 NodeManager 是否正在运行。执行以下命令来查看 YARN 服务的状态:
```bash
yarn --list
```
如果发现某些组件缺失,则可能需要重新启动它们。
还可以直接检查进程是否存在:
```bash
jps
```
这会显示当前 JVM 进程列表,应能看到 `ResourceManager` 和多个 `NodeManager` 实例[^1]。
#### 2. 查看日志文件
YARN 日志通常位于 `$HADOOP_LOG_DIR/yarn/` 下。可以通过分析这些日志找到具体的错误原因。重点检查以下几个方面:
- **ResourceManager 日志**: 文件路径通常是 `/logs/userlogs/application_<id>/container_<id>.log`。
- **NodeManager 日志**: 如果某个节点上的 NodeManager 崩溃,其对应的日志可能会提供线索。
常见的错误包括配置不正确、权限不足以及网络连接失败等问题[^4]。
#### 3. 验证核心配置文件
确保所有的必要配置都已正确定义。以下是几个重要的 XML 配置项及其默认位置:
- **core-site.xml**
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://<namenode-host>:8020</value>
</property>
</configuration>
```
- **yarn-site.xml**
```xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value><resourcemanager-host></value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
```
特别注意的是,在分布式环境中,主机名和端口号必须匹配实际部署环境中的设置[^4]。
#### 4. 测试网络连通性
由于 YARN 是分布式的框架,因此各节点之间的通信至关重要。使用如下命令测试 ResourceManager 和其他节点间的可达性:
```bash
ping <resourcemanager-host>
telnet <nodemanager-host> 8042
```
任何超时或者拒绝访问的现象都需要进一步调查防火墙规则或 DNS 解析问题。
#### 5. 调整资源分配参数
有时因为内存或其他硬件资源不足也会阻止服务成功初始化。调整下面提到的一些关键属性可以帮助解决此类冲突:
- 对于 ApplicationMaster 设置合理的内存大小:
```properties
yarn.scheduler.minimum-allocation-mb=512
yarn.scheduler.maximum-allocation-mb=8192
```
- 当尝试利用 GPU 加速计算任务时,请参照官方指南完成额外的资源配置[^3]:
```properties
spark.yarn.am.resource.yarn.io/gpu.amount=<gpu-count>
```
最后一步就是重启整个集群并观察变化情况。
---
阅读全文
相关推荐




















