2016-08-14 84 views
0

我使用Apache Ambari在4节点上安装了Apache Hadoop。我写了一篇Apache Flink的简单工作。我想将这份工作提交给我的YARN集群。但Flink需要在本地计算机上使用YARN配置文件(core-site.xml,yarn-site.xml等)。所以,如果我不misunterstand,有两种方式曼努埃尔ResourceManager的节点上如何将Flink作业提交到远程YARN集群?

  1. 开始弗林克工作(寻找配置文件)的ResourceManager
  2. 下载配置文件到本地。

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

回答

0

我相信这更多的是关于启动您的YARN客户端的问题,Flink碰巧不是Flink本身。

我对Flink知之甚少,但是由于我对YARN上Spark的了解,我可以说你只能做2,即将配置文件下载到你要用来启动Flink应用程序的机器上。您也可以使用YARN群集中的边缘机器作为机器来部署您的应用程序。

同样,我相信这更多的是关于如何对YARN进行应用程序部署的问题。

0

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

然后在机器上的flink-conf.yaml文件中配置以下参数,该参数将扮演客户机的角色,即aka。你将从你的工作开始。

fs.hdfs.hadoopconf: path_to_hadoop_conf_dir 

那么你应该能够告诉弗林克工具来使用的纱线主作为作业管理器推出纱线的工作。

flink run -m yarn-cluster -yn <num_task_managers> -yjm <job_manager_memory> -ytm <task_manager_memory -c <main_class> <jar> 

如果已经配置在弗林克-conf.yaml以上内存参数,它应该有可能通过省略所有这些详细参数

flink run -m yarn-cluster -n <num_task_managers> -c <main_class> <jar> 

作为为默认值来启动工作快速测试,你可以尝试在YARN上启动一个Scala shell。

start-scala-shell.sh yarn -n <num_task_managers> -nm test_job 
相关问题