Hadoop 通过RESTAPI从外部提交应用程序

Hadoop 通过RESTAPI从外部提交应用程序,hadoop,mapreduce,yarn,Hadoop,Mapreduce,Yarn,目前是否有一种方法可以通过为MapReduceV1和/或YARN提供的REST API从外部提交应用程序?我希望找到一种方法来做到这一点,而不添加自定义服务 到目前为止,我只知道如何从正在使用的纱线中获取应用程序状态 也许我看错了,有更好的外部方法吗?因此,在做了一些研究之后,我决定,这是一条正确的道路 这是一个示例工作流,可以提交到Hadoop系统中运行的REST端点以启动MapReduce作业 <workflow-app xmlns='uri:oozie:workflow:0.1' n

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

到目前为止,我只知道如何
从正在使用的纱线中获取应用程序状态


也许我看错了,有更好的外部方法吗?

因此,在做了一些研究之后,我决定,这是一条正确的道路

这是一个示例工作流,可以提交到Hadoop系统中运行的REST端点以启动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>