我是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 示例代码?
谢谢!
不能完全回答您的问题 - 但您可以尝试从 bash 脚本运行作业,并使用 bash 实现您想要启动作业的任何自动逻辑。如果使用 java 至关重要,您可以根据需要从外部从 java 调用您创建的脚本(运行作业)。
我面对同样的情况。发现是 http 请求问题。确保- 您正在使用开机自检- 并且标头具有接受:应用程序/XML
稍后,您可能还需要 Content-Type: application/xml 或 Content-Type: application/json