YARN REST API - 提交简单的工作

YARN REST API - submit simple job

我需要有关填充 http 请求正文的帮助。 我正在做一个 PUT http 请求,我知道我做对了(在 java)。

我想 运行 简单的 map reduce 作业示例 – 计算 PI… 当我使用命令时:

“hadoop jar /usr/hdp/2.2.0.0-2041/hadoop-mapreduce/hadoop-mapreduce-examples-2.6.0.2.2.0.0-2041.jar pi 10 10”

在它工作的 hortonworks 终端中,我尝试创建 运行 一个执行相同操作的作业。

我认为问题出在请求正文中(在 run_mapreducer_M2.txt 文件中)。 我正在尝试将 if 与 YARN REST API 一起使用。

我错过了什么?有人有使用简单 MR 作业的示例吗?

谢谢! 这是我用于请求正文的 XML 文件:

<application-submission-context>    
 <application-id>application_1421661392788_0005</application-id>
    <application-name>pi2</application-name> 
 <queue>testqueue</queue>
    <priority>3</priority>
    <am-container-spec>      
  <environment>   
   <entry>     
    <key>CLASSPATH</key>
    <value>/usr/hdp/2.2.0.0-2041/hadoop/conf&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop/lib/*&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop/.//*&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop-hdfs/./&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop-hdfs/lib/*&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop-hdfs/.//*&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop-yarn/lib/*&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop-yarn/.//*&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop-mapreduce/lib/*&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/hadoop-mapreduce/.//*&lt;CPS&gt;&lt;CPS&gt;/usr/share/java/mysql-connector-java-5.1.17.jar&lt;CPS&gt;/usr/share/java/mysql-connector-java.jar&lt;CPS&gt;/usr/hdp/current/hadoop-mapreduce-client/*&lt;CPS&gt;/usr/hdp/current/tez-client/*&lt;CPS&gt;/usr/hdp/current/tez-client/lib/*&lt;CPS&gt;/etc/tez/conf/&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/tez/*&lt;CPS&gt;/usr/hdp/2.2.0.0-2041/tez/lib/*&lt;CPS&gt;/etc/tez/conf</value>
   </entry>
  </environment>
  <commands>
   <command>hadoop jar /usr/hdp/2.2.0.0-2041/hadoop-mapreduce/hadoop-mapreduce-examples-2.6.0.2.2.0.0-2041.jar pi 10 10</command>
  </commands>
    </am-container-spec>
    <unmanaged-AM>false</unmanaged-AM>
    <max-app-attempts>2</max-app-attempts>
    <resource>      
  <memory>1024</memory>
  <vCores>1</vCores>
    </resource>    
 <application-type>MAPREDUCE</application-type>
    <keep-containers-across-application-attempts>false</keep-containers-across-application-attempts>
    <application-tags>      
  <tag>Michael</tag>      
  <tag>PI example</tag>    
 </application-tags>
</application-submission-context>

抱歉,如果来晚了,您可能已经找到了答案,但您想使用 POST http 请求而不是 PUT。