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

Mac环境下提交Flink Job至YARN集群时连接ResourceManager失败求助

Mac环境下Flink提交YARN任务无法连接ResourceManager的问题排查

问题场景

在Mac环境中尝试将Flink任务提交到YARN集群,执行了以下操作:

  • 下载包含YARN的Hadoop并更新类路径;
  • 下载Flink 1.16.1并进入/Users/vasu/flink-1.16.1/bin目录;
  • 执行提交命令:
./bin/flink run-application -t yarn-application \
-Djobmanager.memory.process.size=2048m \
-Dtaskmanager.memory.process.size=4096m \
./examples/batch/WordCount.jar

程序日志显示持续尝试连接ResourceManager地址0.0.0.0:8032,无法成功建立连接,核心日志片段:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/vasu/flink-1.16.1/lib/log4j-slf4j-impl-2.17.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/homebrew/Cellar/hadoop/3.3.4/libexec/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
2023-04-27 12:21:04,246 INFO org.apache.hadoop.yarn.client.DefaultNoHARMFailoverProxyProvider [] - 正在连接ResourceManager,地址为/0.0.0.0:8032
2023-04-27 12:21:06,464 INFO org.apache.hadoop.ipc.Client [] - 正在重试连接服务器:0.0.0.0/0.0.0.0:8032。已尝试0次;重试策略为RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
...(后续重复重试日志)

排查与解决步骤

1. 确认YARN ResourceManager是否正常运行

  • 在Mac终端执行jps命令,检查是否存在ResourceManager进程;
  • 如果进程未启动,执行start-yarn.sh启动YARN集群(需确保Hadoop的hadoop-env.sh中已正确设置JAVA_HOME)。

2. 修正YARN配置中的ResourceManager地址

  • 打开Hadoop配置目录下的yarn-site.xml,检查yarn.resourcemanager.address配置项:
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>localhost:8032</value> <!-- 替换为Mac可访问的实际地址,比如localhost或内网IP -->
    </property>
    
  • 默认的0.0.0.0表示监听所有网卡,但Flink客户端需要明确的可连接地址,修改后重启YARN服务。

3. 验证ResourceManager端口的可达性

  • 在终端执行nc -zv localhost 8032或telnet localhost 8032,测试8032端口是否开放;
  • 如果端口不通,检查YARN端口配置是否被修改,或Mac防火墙是否拦截了该端口。

4. 确保Flink加载正确的Hadoop配置

  • 在Flink的conf/flink-conf.yaml中添加Hadoop配置路径:
    fs.hdfs.hadoopconf: /opt/homebrew/Cellar/hadoop/3.3.4/libexec/etc/hadoop
    
  • 或者通过环境变量指定:export HADOOP_CONF_DIR=/path/to/hadoop/conf,确保Flink能读取到正确的YARN配置。

5. 解决SLF4J绑定冲突(可选,消除日志干扰)

  • 日志中的SLF4J多绑定警告,可移除Flink或Hadoop中其中一个SLF4J实现包,比如删除Flink目录下的log4j-slf4j-impl-2.17.1.jar,统一使用Hadoop的SLF4J绑定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:02:47