我可以从Axis2 Web服务中调用Hadoop API吗?

时间:2011-02-26 23:45:51

标签: java web-services hadoop

我打算开发一个可以与Hadoop主节点通信执行某些任务的Web服务。 这些任务包括: 1.启动和停止hadoop集群 2.从hadoop集群添加和删除从节点 3.从Web服务调用一些API,例如指标一。

我不希望你们告诉我一切(请不要!)但是告诉我如何从我的网络服务中调用Hadoop API。在classpath中包含Hadoop jar足够吗?我想我也需要一些配置。请指导我在Web服务和Hadoop集群之间建立一个简单的呼叫流程。

1 个答案:

答案 0 :(得分:1)

由于启动和停止是shellcripts,因此无法从Hadoop jar中重新启动集群。

快速列出您必须为自己的任务做的事情:

  1. 启动和停止是shellscripts,你需要去Runtime.getRuntime()。exec(“你的SHELL SCRIPT”)并让shellcript启动和停止集群。
  2. 添加和删除节点非常不寻常,因为Hadoop会自行管理它。要退役,您必须编辑排除文件并刷新节点。这根本不是Hadoop API可以管理的任务。在这里,您可以进一步阅读:I want to make a large cluster smaller by taking out a bunch of nodes simultaneously. How can this be done?然而,您可以使用DFSAdmin类刷新节点。必须在主机上编辑文件本身。请参阅下一点如何进行设置。
  3. 这个正是你所说的,你可以简单地把罐子和你需要的召唤物品放在一起。但是您必须设置包含Configurationfs.default.name属性的mapred.job.tracker对象。这些属性的值是namenode和jobtracker的主机名。你可以在master上的config xmls'中找到它。 然后,您可以将此对象提供给FileSystem.get(YOURCONFIGURATION),例如使用API​​。
  4. 我希望这不是太多的文字:) 祝你好运!