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

如何向远程纱线集群提交Flink作业?

姚臻
2023-03-14
  1. 在ResourceManager节点上启动flink作业(查找配置文件)
  2. 从ResourceManager下载配置文件到本地。

我想,这两种方式都不太好。如何将作业提交到远程纱线集群。有没有合适的办法?

共有1个答案

龙霖
2023-03-14

在Hadoop/Yarn世界中,您总是需要客户端机器上的配置文件。因此,您需要在本地获取它们。然而,您通常需要其中的一些,而不是全部。在大多数情况下,只要有hdfs-site.xml、core-site.xml和yarn-site.xml就足够了--如果我没有弄错的话。为了安全起见,将它们全部复制到一个本地目录中。

然后在计算机上的flink-conf.yaml文件中配置以下参数,该参数将扮演客户机的角色。您将从。

fs.hdfs.hadoopconf: path_to_hadoop_conf_dir

然后,您应该能够通过告诉flink工具使用一个yarn-master作为作业管理器来启动一个YARN作业。

flink run -m yarn-cluster -yn <num_task_managers> -yjm <job_manager_memory> -ytm <task_manager_memory -c <main_class> <jar>
flink run -m yarn-cluster -n <num_task_managers> -c <main_class> <jar>
start-scala-shell.sh yarn -n <num_task_managers> -nm test_job
 类似资料:
  • 我有一个安装了spark的docker容器,我正试图使用马拉松将作业提交给其他集群上的yarn。docker容器有yarn和hadoop conf dir的导出值,yarn文件还包含正确的emr主ip地址,但我不确定它从哪里作为本地主机? 错误:

  • 我可以从IDE(远程)编程运行这个程序吗?我使用Scala-IDE。我寻找一些代码来遵循,但仍然没有找到合适的 我的环境:-Cloudera 5.8.2[OS redhat 7.2,kerberos 5,Spark2.1,scala 2.11]-Windows 7

  • 我们的团队在我们的K8S集群中设置了Flink会话集群。我们选择Flink会话集群而不是作业集群,因为我们有许多不同的Flink作业,因此我们希望将Flink的开发和部署与我们的作业分离。我们的Flink设置包含: 单个JobManager作为K8S吊舱,无高可用性(HA)设置 我们在一个单独的存储库中开发工作,并在代码合并时部署到Flink集群。 现在,我们注意到在K8S中作为pod的JobMa

  • 我希望在开发期间将作业部署到本地Flink集群上(即在开发笔记本电脑上运行的JobManager和TaskManager),并使用远程调试。我尝试将“-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005”添加到flink-conf.yaml文件中。由于作业和任务管理器在同一台机器上运行,任务管理器引发异常,指出套接字已

  • 我被困在: 在我得到这个之前: 当我签出应用程序跟踪页面时,我在stderr上得到以下信息: 我对这一切都很陌生,也许我的推理有缺陷,任何投入或建议都会有所帮助。

  • 我正在使用EMR 5.30.0,并尝试使用以下命令提交Flink(1.10.0)作业 想知道是否每个提交的作业都试图创建一个Flink Yarn会话,而不是使用现有的会话。 谢谢Sateesh