【问题标题】:Submitting applications externally via REST APIs通过 REST API 向外部提交应用程序
【发布时间】:2012-10-28 01:12:42
【问题描述】:

目前是否可以通过为 MapReduceV1 和/或 YARN 提供的 REST API 向外部提交应用程序?我希望找到一种方法来做到这一点,而无需添加自定义服务。

到目前为止,我只弄清楚了如何使用 YARN 从ResourceManagerGET 应用程序状态。

也许我看错了,有更好的方法可以在外部执行此操作?

【问题讨论】:

    标签: hadoop mapreduce hadoop-yarn


    【解决方案1】:

    所以在做了一些研究之后,我决定Oozie Workflow Scheduler 是要走的路。

    这是一个示例工作流,可以提交到在 Hadoop 系统内运行的 REST 端点以启动 MapReduce 作业。 <action>s 不限于 MapReduce。

    <workflow-app xmlns='uri:oozie:workflow:0.1' name='map-reduce-wf'>
        <start to='hadoop1' />
        <action name='hadoop1'>
            <map-reduce>
                <job-tracker>${jobTracker}</job-tracker>
                <name-node>${nameNode}</name-node>
                <configuration>
                    <property>
                        <name>mapred.mapper.class</name>
                        <value>org.apache.oozie.example.SampleMapper</value>
                    </property>
                    <property>
                        <name>mapred.reducer.class</name>
                        <value>org.apache.oozie.example.SampleReducer</value>
                    </property>
                    <property>
                        <name>mapred.map.tasks</name>
                        <value>1</value>
                    </property>
                    <property>
                        <name>mapred.input.dir</name>
                        <value>input-data</value>
                    </property>
                    <property>
                        <name>mapred.output.dir</name>
                        <value>output-map-reduce</value>
                    </property>
                    <property>
                      <name>mapred.job.queue.name</name>
                      <value>unfunded</value>
                    </property>
                </configuration>
            </map-reduce>
            <ok to="end" />
            <error to="fail" />
        </action>
        <kill name="fail">
            <message>Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
        </kill>
        <end name='end' />
    </workflow-app>
    

    样本取自https://github.com/yahoo/oozie/wiki/Oozie-WF-use-cases

    【讨论】:

      猜你喜欢
      • 2019-12-02
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      相关资源
      最近更新 更多