【问题标题】:How to submit multiple jobs to a hadoop cluster如何将多个作业提交到 hadoop 集群
【发布时间】:2015-04-17 10:27:52
【问题描述】:

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

【问题讨论】:

  • 您需要执行什么样的工作? Mapreduce、Hive 等 ??
  • 它们只是 mapreduce 作业

标签: hadoop mapreduce hadoop-yarn


【解决方案1】:

您可以使用 MR1 和 YARN 来运行 MR 作业。 YARN has nothing to do with job parallelism. 它只是一个运行各种作业的框架。

使用 oozie 工作流或 shell 脚本并行运行作业。

【讨论】:

    【解决方案2】:

    您可以使用被分叉的 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>
    

    【讨论】:

    • 谢谢,这是我最初的想法。但是纱呢?我可以将它们作为纱线应用程序提交吗?他会有什么不同?
    猜你喜欢
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    相关资源
    最近更新 更多