2016-08-14 113 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 
相關問題