如何使用jar而不是终端提交MapRecude作业? (编程)

时间:2015-01-04 15:58:02

标签: api rest hadoop mapreduce yarn

我是Hortonworks的新手(使用yarn,hadoop 2.6)并尝试研究如何提交MapReduce,但我不想使用终端命令来做,我想以编程方式进行。 我想编写外部java程序来运行MR jar。

我看了看这里: Cluster_Applications_API(Submit_Application)

我发现需要获取新的应用程序ID:

Cluster_New_Application_API

但是当我使用他们描述的内容时:“_http:// [我的主机IP]:[port = 8088] / ws / v1 / cluster / apps / new-application” 我得到例外:

<RemoteException>
<exception>WebApplicationException</exception>
<javaClassName>javax.ws.rs.WebApplicationException</javaClassName>
</RemoteException> 

我错过了什么吗? 有没有人有用于提交和监控MR工作的REST示例代码?

谢谢!

2 个答案:

答案 0 :(得分:0)

没有完全回答你的问题 - 但你可以尝试从bash脚本运行作业,并使用bash实现你想要启动作业的任何自动逻辑。 如果使用java是至关重要的,您可以根据需要从外部调用您创建的脚本(运行作业)。

答案 1 :(得分:0)

我面对同样的事情。发现它是http请求问题。 确保这件事 - 你正在使用POST - 并且标题具有Accept:application / xml

稍后,您可能还需要Content-Type:application / xml或Content-Type:application / json