如何将多个作业提交到hadoop集群

时间:2015-04-16 17:30:34

标签: hadoop mapreduce yarn

我有一个运行Hadoop 2.6的hadoop集群。我想并行提交多个工作。我想知道是否应该简单地提交多个作业并让集群处理其余的作业,或者我应该将它们写成一个纱线应用程序。事实上,我对Yarn应用程序开发并不熟悉,并且知道它与常规Hadoop应用程序有何不同。

2 个答案:

答案 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>