根据Hortonworks的文档,在“ super 模式”下执行Hadoop作业的方法是像这样配置maprep-site.xml
设置:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
<property>
<name>mapreduce.job.ubertask.maxmaps</name>
<value>1</value>
</property>
<property>
<name>mapreduce.job.ubertask.maxreduces</name>
<value>1</value>
</property>
<property>
<name>mapreduce.job.ubertask.maxbytes</name>
<value>134217728</value>
</property>
</configuration>
对于
mapreduce.job.ubertask.maxbytes
,我并不真正知道该放置什么,我从dfs.block.size
中的hdfs-site.xml
参数复制了它,并且完全披露我并不真正知道该放置什么值。<property>
<name>dfs.block.size</name>
<value>134217728</value>
<description>Block size</description>
</property>
最初,该块大小是根据我的预感分配的,我的工作失败的原因之一是输入数据-它必须是原子的(在某种意义上,它不能被分解并逐个输入到映射器中)-正在HDFS中拆分。
因此,尽管如此,尽管这些设置的配置方式使Hortonworks文档和其他文档相信可以在“ super 模式”下执行该作业,但该作业实际上是而不是在该模式,如下所示:
我配置它们时设置有什么问题,导致我的工作无法在 super 模式下执行?
最佳答案
OP中的那些配置设置都可以-关于uber mode
的事情是您只能有一个输入文件,而不是以前的多个文件。看这里:
17/10/12 20:42:42 INFO input.FileInputFormat: Total input files to process : 1
17/10/12 20:42:43 INFO mapreduce.JobSubmitter: number of splits:1
17/10/12 20:42:43 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1507833515636_0005
17/10/12 20:42:44 INFO impl.YarnClientImpl: Submitted application application_1507833515636_0005
17/10/12 20:42:44 INFO mapreduce.Job: The url to track the job: http://master:8088/proxy/application_1507833515636_0005/
17/10/12 20:42:44 INFO mapreduce.Job: Running job: job_1507833515636_0005
17/10/12 20:42:49 INFO mapreduce.Job: Job job_1507833515636_0005 running in uber mode : true
或者,直接从马口中:
关于hadoop - Uber模式配置设置已对齐,但作业无法在Uber模式下执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46717104/