windows上通过Eclipse下开发MapReduce程序是怎样提交到虚拟机中hadoop集群运行的?
注意:这不是问在Windows中如何搭建hadoop开发环境,如何保证运行,希望大家先看清问题,别喷我,谢谢
问题描述
最近在虚拟机中搭建了hadoop集群,并且在Windows上通过eclipse配置了hadoop-eclipse-plugin插件连接hadoop,进行MapReduce相关编程开发。但是,遇到了一个问题是在Win上运行的MapReduce程序明显比虚拟机中要快很多,不知道这是为什么?
其次,如图所示。我在编译前将程序打成了jar包,程序中也指定了使用该jar包,程序也正常运行了。但是,我有疑问是我并没有手动指定这个jar包上传到虚拟机中哪个位置,也没有设置共享文件什么的。为什么hadoop依旧会找到并调用该jar包,并执行这个程序?而且也没在虚拟机中找到这个jar包【不知道又没有上传,或者上传了不知道在哪】
自己的思路
- 我最初猜想是,windows下开发不是会另外下载一套hadoop依赖的jar包吗?会不会是只是在Windows下模拟在hadoop集群环境中运行,实际只是本地宿主机在运行
- 但我通过web查看JobHistory,发现了有datanode节点作业的记录就排除了上面的想法
- 可以确认是程序一定是在虚拟机中运行的,那就一定使用了上面提到的jar包【但不知道这个jar包怎么传上去的?也没找到】
- 猜测是不是hadoop-eclipse-plugin这个插件帮我完成了什么提交的过程?或是其他的?
期望解答
问题就上面两个,为什么更快?jar包如何找到?有无上传?
希望有大佬知晓一二,能够提供帮助,帮我解惑。谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论