如何使用ResourceManager HA和Hortowork的HDP将MR作业提交到YARN集群?

时间:2017-04-16 20:20:15

标签: hadoop hdfs yarn hadoop2 high-availability

我正在尝试了解如何将MR作业提交给基于YARN的Hadoop集群。

情况1:

对于只有一个ResourceManager(即NO HA)的情况,我们可以像这样提交作业(我实际使用过,我认为是正确的)。

hadoop jar word-count.jar  com.example.driver.MainDriver -fs  hdfs://master.hadoop.cluster:54310 -jt master.hadoop.cluster:8032 /first/dir/IP_from_hdfs.txt  /result/dir

可以看出,RM在端口8032和NN 54310上运行,我指定主机名,因为只有一个主机。

情况2:

现在,对于NN和RM都有HA的情况,我该如何提交作业?我无法理解这一点,因为现在我们有两个RM和NN(活动/备用),我知道有一个zookeeper可以跟踪故障。因此,从客户角度尝试提交作业,我是否需要知道提交作业的确切NN和RM,或者是否有一些我们必须用于提交作业的逻辑命名?

任何人都可以帮我理解这个吗?

1 个答案:

答案 0 :(得分:1)

无论是否有HA,提交作业的命令都保持不变。

hadoop jar <jar> <mainClass> <inputpath> <outputpath> [args]

使用-fs-jt是可选的,除非您要指定的NamenodeJobTracker与配置中的fs.defaultFScore-site.xml不同,否则不会使用。

如果dfs.nameservices中的hdfs-site.xml属性和定义名称服务<property> <name>dfs.client.failover.proxy.provider.<nameserviceID></name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> )及其名称节点的属性在SET中正确配置客户端,只要执行客户端操作,就会选择Active Master。

默认情况下,DFS客户端使用此Java类来确定当前哪个NameNode处于活动状态。

U
相关问题