gpt4 book ai didi

apache-flink - Flink EMR Deployment 无法获取 Yarn 上下文,只能作为本地应用程序执行

转载 作者:行者123 更新时间:2023-12-05 04:52:53 25 4
gpt4 key购买 nike

我正在 AWS EMR 6.2 上部署我的 Flink 应用

Flink 版本:1.11.2

我配置了这个步骤:

Arguments :"flink-yarn-session -d -n 2"

如此处所述:https://docs.aws.amazon.com/emr/latest/ReleaseGuide/flink-jobs.html

集群和步骤都处于“正在运行”状态。

Controller 日志显示:

INFO startExec 'hadoop jar/mnt/var/lib/hadoop/steps/s-309XLKSZGN4V4/trigger-service-***.jarflink-yarn-session -d -n 2'

但是,系统日志显示应用程序没有在 Yarn 上下文中获取。

2021-02-24 13:19:57,772 INFO org.apache.flink.runtime.minicluster.MiniCluster (main): Starting Flink Mini Cluster

我在我的应用程序中提取了StreamExecutionEnvironment.getExecutionEnvironment返回的类名,确实是LocalStreamEnvironment

应用程序本身作为本地应用程序在 JobMaster 实例上正常运行。

最佳答案

事实证明,-n 在新版本的 flink 中已被弃用,因此,根据 AWS 支持的建议,我改为使用此命令:

flink-yarn-session -d -s 2  

参数含义:

-d,--detached Start detached

-s,--slots Number of slots per TaskManager

此外,为了使Flink需要创建两个步骤:

--steps '[{"Args":["flink-yarn-session","-d","-s","2"],"Type":"CUSTOM_JAR","MainClass":"","ActionOnFailure":"CANCEL_AND_WAIT","Jar":"command-runner.jar","Properties":"","Name":"Yarn Long Running Session"},{"Args":["bash","-c","aws s3 cp s3://<URL of Application Jar> .;/usr/bin/flink run -m yarn-cluster -p 2 -d <Application Jar>"],"Type":"CUSTOM_JAR","MainClass":"","ActionOnFailure":"CANCEL_AND_WAIT","Jar":"command-runner.jar","Properties":"","Name":"Flink Job"}] '

第一个使用command-runner.jar来执行

flink-yarn-session -d -s 2

第二个使用 command-runner.jar 从 S3 下载我的应用程序 Jar 并在 yarn-cluster 上使用 flink 运行作业。

关于apache-flink - Flink EMR Deployment 无法获取 Yarn 上下文,只能作为本地应用程序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66352189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com