写在前面:
本人之前总结了 Windows10安装搭建hadoop伪分布式 的流程,https://blog.csdn.net/Zhou_Dao/article/details/101602119
但是搭建好环境 还不算什么。真正用代码打印出 hello world,才算是正式开始。
本人是在windows10搭建hadoop伪分布式,然后在eclipse运行java代码,来执行MapReduce操作。
在Ubuntu上面搭建hadoop伪分布式,或,windows10搭建hadoop分布式,操作应该比较接近,部分流程可以参考。
1.安装eclipse插件,即 hadoop-eclipse-plugin-2.7.1.jar 。
注意,一定要和你的hadoop的版本号相同。这个插件可以网上百度。
hadoop-eclipse-plugin-2.7.1.jar的安装过程,见下面的 blog 1:
Hadoop学习笔记—6.Hadoop Eclipse插件的使用 - EdisonZhou - 博客园
https://www.cnblogs.com/edisonchou/p/4297521.html
这个 blog 1 质量很高,本人只做补充说明,便于理解。
(图片截自:https://www.cnblogs.com/edisonchou/p/4297521.html)
在这一步,需要加上MapReduce的主机地址和端口号,以及datanode的主机地址和端口号。上面的博主详细说明了如何查看这些信息。
下面这个 blog 2 也做了说明:
hadoop2.7.3 Windows eclipse开发环境搭建及WordCount实例运行 - wudichengyaojin的博客 - CSDN博客
https://blog.csdn.net/wudichengyaojin/article/details/64440655
如果是伪分布式安装,那么MapReduce的主机地址 和 DFS的主机地址其实是一样的。端口号也是一样的。(不过建议还是查看一下,再操作)
另外,本人操作过程中,blog 1 提到的 hadoop.tmp.dir,其实并没有出现,可以不用管。
2. eclipse下的plugins导入hadoop-eclipse-plugin-2.7.1.jar,Preference下没有hadoop Map/Reduce。
本人也出现了这个问题,后来下面的 blog 3 给出了解答。
eclipse下的plugins导入hadoop-eclipse-plugin-2.7.1.jar,Preference下没有hadoop Map/Reduce的解决方法 - qq_30879741的博客 - CSDN博客
https://blog.csdn.net/qq_30879741/article/details/72934480
“解决方法:把 eclipse\configuration\org.eclipse.update 删除掉。” (来自blog 3)
3. 在eclipse创建MapReduce项目
关于eclipse创建MapReduce项目的示例代码,这里推荐2个新的blog( blog 1中的操作流程貌似是旧版的 )
Windows10下搭建Hadoop2.7.6的Eclipse开发环境 - goodmentc的专栏 - CSDN博客
https://blog.csdn.net/goodmentc/article/details/80954248
windows10上使用Eclipse配置Hadoop开发环境详细步骤+WordCount示例 - u010185220的专栏 - CSDN博客
https://blog.csdn.net/u010185220/article/details/79095179
这2个blog 同样是超高质量,结合起来看,读者就大概知道怎么在eclipse运行hadoop项目了。
总的来说,
3.1 需要先在eclipse左边导航栏的 DFS Locations,从本地上传 输入文件 到HDFS。
3.2 注意,正如上面两个blog提到,开始运行前,删掉out文件夹,不然会报错。
右键 wordcount项目,Run As->Run Configurations,填入参数:
hdfs://localhost:9000/testdir/input # 这里代表输入文件路径
hdfs://localhost:9000/testdir/out # 这里代表输出文件路径
3.3 本人也按照blog所说,在src下创建log4j.properties文件。
如图所示,输入以上参数,应该就没有问题了。下面是wordcount的结果。
最后,再附上几张图片,补充关于hadoop项目管理过程中,界面参数的作用。
图片截自:
Windows环境下采用eclipse连接虚拟机中的Hadoop伪分布式集群 - quintind的专栏 - CSDN博客
https://blog.csdn.net/quintind/article/details/77861666