windows上通过Eclipse下开发MapReduce程序是怎样提交到虚拟机中hadoop集群运行的?

JosonLe
  • 17

注意:这不是问在Windows中如何搭建hadoop开发环境,如何保证运行,希望大家先看清问题,别喷我,谢谢


问题描述

最近在虚拟机中搭建了hadoop集群,并且在Windows上通过eclipse配置了hadoop-eclipse-plugin插件连接hadoop,进行MapReduce相关编程开发。但是,遇到了一个问题是在Win上运行的MapReduce程序明显比虚拟机中要快很多,不知道这是为什么?

其次,如图所示。我在编译前将程序打成了jar包,程序中也指定了使用该jar包,程序也正常运行了。但是,我有疑问是我并没有手动指定这个jar包上传到虚拟机中哪个位置,也没有设置共享文件什么的。为什么hadoop依旧会找到并调用该jar包,并执行这个程序?而且也没在虚拟机中找到这个jar包【不知道又没有上传,或者上传了不知道在哪】

clipboard.png

clipboard.png

自己的思路

  • 我最初猜想是,windows下开发不是会另外下载一套hadoop依赖的jar包吗?会不会是只是在Windows下模拟在hadoop集群环境中运行,实际只是本地宿主机在运行
  • 但我通过web查看JobHistory,发现了有datanode节点作业的记录就排除了上面的想法
  • 可以确认是程序一定是在虚拟机中运行的,那就一定使用了上面提到的jar包【但不知道这个jar包怎么传上去的?也没找到】
  • 猜测是不是hadoop-eclipse-plugin这个插件帮我完成了什么提交的过程?或是其他的?

期望解答

问题就上面两个,为什么更快?jar包如何找到?有无上传?
希望有大佬知晓一二,能够提供帮助,帮我解惑。谢谢!

回复
阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏