落花 2024-04-25 23:45 采纳率: 0%
浏览 9
已结题

关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决

关于docker部署flink集成hadoop的yarn,请教个问题
flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决

img

这里我是分开部署的,单独启动的flink和hadoop
hadoop配置文件
yarn-site.xml

img

hdfs-site.xml

img

core-site.xml

img

启动服务

img

启动命令

img

telnet端口8032是通的

img

flink
flink配置文件

img

启动命令

img

  • 写回答

19条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-25 23:45
    关注

    引自免费微信小程序:皆我百晓生

    针对您在部署Flink集成Hadoop YARN过程中遇到的问题,根据您提供的日志信息、配置文件以及启动命令,我推测问题可能出在以下几个方面。以下是我为您整理的详细排查与解决步骤:

    1. YARN ResourceManager地址配置: 在yarn-site.xml中,您将yarn.resourcemanager.hostname设置为hadoop-master,但在启动Flink时,您使用了IP地址172.18.0.2作为resourceManagerAddress。请确保两者保持一致。若hadoop-master是主机名且能被正确解析为IP地址(即172.18.0.2),则无需更改;否则,请将Flink配置中的resourceManagerAddress改为hadoop-master

    2. Flink配置文件路径映射: 您在启动Flink JobManager的Docker容器时,挂载了/flink/conf/config.yaml/opt/flink/conf/config.yaml,但您未提供config.yaml的具体内容。请确保Flink配置文件中resourceManagerAddressresourceManagerPort与YARN ResourceManager的实际地址和端口相匹配。如果使用的是config.yaml而非flink-conf.yaml,请确保Flink容器内部能够识别并正确读取此配置文件。

    3. 网络隔离与连接问题: 您提到telnet 192.168.137.136 8032是通的,但日志中显示Flink试图连接的ResourceManager地址却是0.0.0.0:8032。这可能是由于网络配置不正确导致的。确保Flink容器与YARN集群处于同一网络(您已使用--net hadoop参数),并确保Flink容器内的应用能正确解析hadoop-master172.18.0.2

    4. Hadoop Classpath设置: 您在启动Flink JobManager时设置了环境变量HADOOP_CLASSPATH=hadoop classpath,但此处可能存在语法错误。请确认Hadoop的类路径是否正确设置,可以尝试修改为如下形式:

      -e HADOOP_CLASSPATH=$(hadoop classpath)
      
    5. Flink与Hadoop版本兼容性: 确保您使用的Flink版本与Hadoop版本兼容。您提到使用的是flink:1.19.0-scala_2.12镜像,并挂载了flink-shaded-hadoop-2-uber-2.8.3-10.0.jar。请查阅Flink官方文档,确认该版本是否支持您所使用的Hadoop版本(从日志判断可能是Hadoop 2.x系列)。

    根据上述分析,您可以按照以下方式调整您的启动命令:

    docker run \
    -itd \
    --net hadoop \
    --name=jobmanager \
    --privileged=true \
    --hostname=jobmanager \
    --restart always \
    --link master:hadoop \
    -p 8081:8081 \
    -e HADOOP_CONF_DIR=/hadoop/etc/hadoop \
    -e FLINK_PROPERTIES="jobmanager.rpc.address:jobmanager" \
    -e HADOOP_CLASSPATH=$(hadoop classpath) \
    -v/flink/conf/config.yaml:/opt/flink/conf/config.yaml \
    -v/flink/lib/flink-shaded-hadoop-2-uber-2.8.3-10.0.jar:/opt/flink/lib/flink-shaded-hadoop-2-uber-2.8.3-10.0.jar \
    flink:1.19.0-scala_2.12 jobmanager
    

    同时,请确保config.yaml中的resourceManagerAddressresourceManagerPort配置正确,与YARN ResourceManager实际地址和端口一致。

    执行调整后的启动命令后,再尝试启动Flink YARN会话,观察日志输出,看是否解决了连接问题。如果问题仍然存在,请继续检查网络配置、防火墙规则等可能影响通信的因素。

    希望以上建议能帮助您解决当前问题。如果您有进一步的疑问或需要更详细的指导,请随时告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 修改了问题 4月26日
  • 赞助了问题酬金15元 4月26日
  • 修改了问题 4月25日
  • 展开全部

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP