我有一个运行Hadoop 2.6的hadoop集群。我想并行提交多个工作。我想知道是否应该简单地提交多个作业并让集群处理其余的作业,或者我应该将它们写成一个纱线应用程序。事实上,我对Yarn应用程序开发并不熟悉,并且知道它与常规Hadoop应用程序有何不同。
答案 0 :(得分:1)
您可以使用MR1和YARN运行MR作业。 YARN has nothing to do with job parallelism.
这只是一个运行各种工作的框架。
使用oozie工作流程或shell脚本并行运行作业。
答案 1 :(得分:0)
您可以使用分叉的mapreduce作业定义oozie工作流。以下是apache oozie文档中的示例。
<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1">
...
<fork name="forking">
<path start="firstparalleljob"/>
<path start="secondparalleljob"/>
</fork>
<action name="firstparallejob">
<map-reduce>
<job-tracker>foo:9001</job-tracker>
<name-node>bar:9000</name-node>
<job-xml>job1.xml</job-xml>
</map-reduce>
<ok to="joining"/>
<error to="kill"/>
</action>
<action name="secondparalleljob">
<map-reduce>
<job-tracker>foo:9001</job-tracker>
<name-node>bar:9000</name-node>
<job-xml>job2.xml</job-xml>
</map-reduce>
<ok to="joining"/>
<error to="kill"/>
</action>
<join name="joining" to="nextaction"/>
...
</workflow-app>