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

Windows环境下Hadoop尝试连接0.0.0.0:10020失败的原因是什么?

解决Hadoop全量应用访问0.0.0.0:10020失败的问题

你这是踩了个典型的Hadoop配置误区——0.0.0.0:10020是JobHistory Server的默认端口,这个问题和DFS配置完全不相关,之前改<value>hdfs://0.0.0.0</value>相当于找错了方向,咱们一步步来搞定:

1. 先确认JobHistory Server是否在运行

打开Windows命令提示符(CMD),执行:

jps

如果输出里没有JobHistoryServer进程,说明这个服务根本没启动,这是最常见的诱因。手动启动它:

mr-jobhistory-daemon.cmd start historyserver

2. 修正MapReduce的JobHistory核心配置

问题出在mapred-site.xml文件(不是hdfs-site.xml!),你需要添加或修改以下两个配置项:

<property>
  <name>mapreduce.jobhistory.address</name>
  <!-- 改成你的本机IP/主机名,比如localhost或者你的实际主机名,别用0.0.0.0 -->
  <value>localhost:10020</value>
</property>
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>localhost:19888</value>
</property>

为啥不能用0.0.0.0?因为0.0.0.0是服务端监听所有网卡的配置,但客户端需要明确的目标地址才能发起请求,用它会导致客户端无法正确解析连接地址。

3. 重启服务并验证有效性

  • 先停掉所有Hadoop服务:
    stop-all.cmd
    
  • 重新启动集群:
    start-all.cmd
    
  • 再次启动JobHistory Server:
    mr-jobhistory-daemon.cmd start historyserver
    

验证步骤:

  • 再执行jps,确认JobHistoryServer进程存在
  • 打开浏览器访问http://localhost:19888,能看到JobHistory的Web界面说明服务正常
  • 运行你的全量应用,应该不会再出现0.0.0.0:10020的访问异常了

4. 额外排查:防火墙与Hosts配置

  • 确保Windows防火墙开放了10020和19888端口,避免请求被拦截
  • 检查C:\Windows\System32\drivers\etc\hosts文件,确认你的主机名和127.0.0.1有正确映射,比如:
    127.0.0.1   localhost
    192.168.x.x 你的主机名
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:15:31