从本地web应用程序调用mapreduce

o8x7eapl  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(369)

我在本地主机上部署了一个web应用程序。另外,我的pc中的hortonworks沙盒中有一个mapreduce作业(cleandata.jar)。
如何从web应用程序调用mapreduce.jar?
我正尝试用jsch y channel exec来实现这一点,以便对虚拟机执行一个调用系统,这是可行的。有没有更优雅/简单的方式?

v64noz0r

v64noz0r1#

我没有使用hortonworks沙盒,但以编程方式启动yarn(和mapreduce)应用程序的正确方法是使用 YarnClient java类。这是相当复杂的困难,因为你需要知道一些hadoop内部来做到这一点。首先,您应该具有对resourcemanager、NodeManager、datanodes和namenode的网络访问权限。接下来,您应该根据 hdfs-site.xml 以及 yarn-site.xml 您可能会在沙盒中找到文件(您可以复制它们并将它们放入您的webapp的classpath)。
你可以看看这里:https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/writingyarnapplications.html
注意,如果集群是安全的,那么提交作业的webapp必须在java扩展安全性(jce)上运行,并且应该使用 UserGroupInformation .

相关问题