Hadoop 3.x 伪分布式 8088端口无法访问问题处理

【Hadoop】YARN ResourceManager 启动后 8088 端口无法访问问题排查与解决(伪分布式启动Hadoop)

在配置和启动 Hadoop YARN 模块时,发现虽然 ResourceManager 正常启动,JPS 进程中也显示无误,但通过浏览器访问 http://主机IP:8088 时却无法打开 YARN 的 Web UI 页面。本文记录了详细的排查过程与解决方案。


🧩 问题表现

Hadoop 启动正常,JPS 显示:

yaml 复制代码
[hadoop@localhost module]$ jps
2256 NodeManager
2146 ResourceManager
2627 Jps
1915 SecondaryNameNode
1596 NameNode
1710 DataNode

使用 netstat 查看监听端口:

ruby 复制代码
[hadoop@localhost module]$ netstat -tnlp | grep :8088
tcp  0  0 127.0.0.1:8088  0.0.0.0:*  LISTEN  2146/java

发现 8088 只绑定在 127.0.0.1,无法从外部访问。


📄 配置文件内容

配置文件为 ${HADOOP_HOME}/etc/hadoop/yarn-site.xml,内容如下:

xml 复制代码
<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

🛠️ 原因分析

默认配置将 ResourceManager 的监听地址绑定在 localhost(即 127.0.0.1),这意味着只有本机可以访问 8088 端口,其他设备访问时会出现连接超时或拒绝连接的问题。


✅ 解决方法

1️⃣ 修改 ResourceManager 主机名

localhost 修改为机器的实际 IP 地址,例如 192.168.0.110

xml 复制代码
<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>192.168.0.110</value>
</property>

2️⃣ 添加 Web UI 绑定地址

让 ResourceManager 的 Web 页面监听所有 IP:

xml 复制代码
<property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>0.0.0.0:8088</value>
</property>

📌 最终配置如下:

xml 复制代码
<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>192.168.0.110</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>0.0.0.0:8088</value>
  </property>
</configuration>

3️⃣ 重启 YARN 服务

arduino 复制代码
stop-yarn.sh
start-yarn.sh

检查监听:

perl 复制代码
netstat -tnlp | grep 8088

确认输出:

bash 复制代码
tcp  0  0 0.0.0.0:8088  0.0.0.0:*  LISTEN  xxxx/java

4️⃣ 放通防火墙端口(如有)

css 复制代码
sudo firewall-cmd --add-port=8088/tcp --permanent
sudo firewall-cmd --reload

5️⃣ 访问测试

在浏览器中访问:

arduino 复制代码
http://192.168.0.110:8088

即可正常打开 ResourceManager 的 Web UI 页面。


🔚 总结

遇到 YARN 8088 端口无法访问的问题,通常是由于默认监听在 localhost 导致的。通过修改 yarn-site.xml 配置绑定实际 IP,并设置 Web UI 监听 0.0.0.0,即可顺利解决该问题。

相关推荐
Cobyte34 分钟前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc
程序员侠客行1 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
Honmaple2 小时前
QMD (Quarto Markdown) 搭建与使用指南
后端
PP东2 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
invicinble2 小时前
springboot的核心实现机制原理
java·spring boot·后端
全栈老石2 小时前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python
space62123273 小时前
在SpringBoot项目中集成MongoDB
spring boot·后端·mongodb
Tony Bai3 小时前
再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析
开发语言·后端·golang
寻找奶酪的mouse4 小时前
30岁技术人对职业和生活的思考
前端·后端·年终总结
梦想很大很大4 小时前
使用 Go + Gin + Fx 构建工程化后端服务模板(gin-app 实践)
前端·后端·go