Hadoop 从本地web应用程序调用MapReduce

Hadoop 从本地web应用程序调用MapReduce,hadoop,mapreduce,sandbox,Hadoop,Mapreduce,Sandbox,我在本地主机中部署了一个web应用程序。 另外,我在我的pc中的hortonworks沙箱中有一个MapReduce作业(cleandata.jar) 如何从web应用程序调用MapReduce.jar 我正在尝试使用JSch y Channel Exec来执行此操作,以便对虚拟机执行一个调用系统,这是可行的。有一种更优雅/简单的形式可以做到这一点?我没有使用Hortonworks沙盒,但以编程方式启动Thread(和MapReduce)应用程序的正确方法是使用YanClientjava类。这相

我在本地主机中部署了一个web应用程序。 另外,我在我的pc中的hortonworks沙箱中有一个MapReduce作业(cleandata.jar)

如何从web应用程序调用MapReduce.jar


我正在尝试使用JSch y Channel Exec来执行此操作,以便对虚拟机执行一个调用系统,这是可行的。有一种更优雅/简单的形式可以做到这一点?

我没有使用Hortonworks沙盒,但以编程方式启动Thread(和MapReduce)应用程序的正确方法是使用
YanClient
java类。这相当复杂,因为要做到这一点,您需要了解一些Hadoop的内部结构。首先,您应该具有对ResourceManager、NodeManager、DataNodes和NameNode的网络访问权限。接下来,您应该根据沙箱中可能找到的
hdfs site.xml
warn site.xml
文件设置属性(您可以复制它们并将它们放入webapp的类路径中)

您可以在这里查看:


请注意,如果您的群集是安全的,则必须在提交作业的webapp上运行,并且您应该使用
UserGroupInformation

进行身份验证,谢谢您的回复。因此,如果我正确使用YanClient和cofigure配置属性,我可以将我的mapreduce.jar放在我的主机中吗?我还没有看到太多的web应用启动map/reduce作业,因为大多数m/r作业都不是以交互速度运行的。一个典型的模式是以任何合理的时间间隔运行分析,并将结果存储在数据存储中,以便web应用程序进行任何最终聚合和显示。