当前位置: 首页 > 知识库问答 >
问题:

Flink EMR部署无法获取Yarn上下文,只能作为本地应用程序执行

郑翰海
2023-03-14

我正在AWS EMR6.2上部署我的Flink应用程序

Flink版本:1.11.2

我用以下方法配置了该步骤:

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

如下所述:https://docs.aws.amazon.com/emr/latest/releaseguide/flink-jobs.html

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

我取出了应用程序中StreamExecutionEnvironment.getExecutionEnvironment返回的类名,实际上它是LocalStreamEnvironment

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

共有1个答案

杜君浩
2023-03-14

事实证明,在新版本的flink中,-n是不推荐的,因此,根据AWS支持部门的建议,我使用了以下命令:

flink-yarn-session -d -s 2  

参数含义:

-d,--分离的开始分离的

缩线-纱线-会话-D-S 2

第二个使用command-runner.jarto从S3下载我的应用程序Jar,并在Yarn-Cluster上使用flink运行该作业。

 类似资料:
  • 我在两个独立的Web应用程序中工作,一个后台和前端应用程序。有趣的是,当我运行后端时,我没有任何问题。但在前端,我遇到了以下错误: 两者都在同一个Tomcat上运行。我的同事有相同的代码,它工作正常:-s

  • 在我解释这个问题之前,我只想指出,我对NetBeans和Tomcat完全陌生,我正在做一个学校项目。话虽如此,但问题正是如题所言。下面是我尝试运行一个简单的Hello World jsp时的输出: 在C:\User\lostl\OneDrive\Documents\NetBeansProjects\Project3\build\web部署正在进行中...部署?config=file:/C:/Use

  • 问题内容: 有没有办法在Spring应用程序中静态/全局地请求ApplicationContext的副本? 假设主类启动并初始化了应用程序上下文,它是否需要通过调用堆栈将其向下传递给需要它的任何类,或者是否有一种方法可以让类要求先前创建的上下文?(我认为必须是单身人士?) 问题答案: 如果需要访问容器的对象是容器中的Bean,则只需实现BeanFactoryAware或ApplicationCon

  • 我制作了一个程序,可以在设定时间后关闭PC。用户使用2个旋转框(一个用于小时,另一个用于分钟)输入时间,然后我将其转换为毫秒: 然后它调用timer()函数 然后signal timeout()调用shutdown()插槽/函数,检查用户是否要关闭、重新启动或注销电脑,然后执行相应的命令。 (还尝试了“shutdown-s-f”,甚至只尝试了“shutdown-s”,似乎没有什么能帮助解决问题)

  • 我无法在Tomcat 6上部署Grails 2.2.4应用程序。我尝试了新安装的tomcat,甚至我的应用程序的旧版本(以前运行过)。 此异常在一分钟后引发。在tomcat启动后: 我真的不知道从哪里开始修理它-/

  • 问题内容: 有时,您需要在servlet / JSP /基于的任何内容中构造指向Web应用程序上下文的完整URL 。类似于 **http://server.name:8080/context/** 。Servlet API没有实现此目的的单一方法。 直接的方法是将所有URL组件附加到,例如 我想知道这种选择是否有问题(速度快10倍): 上述两种方法是否 总是会 产生相同的结果? 问题答案: 它称为