使用Eclipse编写MapReduce的配置教程网上有非常多,这里不作赘述,配置教程可以参考厦门大学大数据实验室的博客,写的非常通俗易懂,非常适合初学者来看,该博客详细介绍了Hadoop的安装(Ubuntu版和CentOS版)和配置eclipse编译运行MapReduce程序的方法。
配置好了Eclipse我们就可以开始编写MapReduce代码了,代码编写好了,就需要配置输入文件(本文默认Hadoop运行伪分布模式)。
在HDFS上创建用户目录:
$ ./bin/hdfs dfs -mkdir -p /user/hadoop
这里是在HDFS上创建了一个用户目录,开发的时候可以将本地文件上传到这个目录。上传文件的命令为:
./bin/hdfs dfs -put 本地文件/目录 HDFS文件/目录
上传成功后,在eclipse中刷新DFS Locations就能看到上传目录或者文件。此处也可以直接在DFS Locations 中通过Create new directory 或者Upload file to DFS 来实现。
代码编写好了,需要处理的文件也上传好了,就可以准备运行代码了。具体的运行方法在eclipse配置教程中已经给出了,不再赘述。这里直接给出运行参数如何写。先给一种最简单的方法,在eclipse DFS Locatios 中找到你需要处理的文件,双击打开,在eclipse文件预览的顶部会显示该文件的路径,MapReduce一般是将整个文件夹作为输入,按照预览给出的地址填入eclipse的入参中即可。同时配置以下出参放置目录。
再一种是根据自己的配置来填写出入参,上面给出了创建HDFS 用户目录的方法,将需要处理的文件上传到这个目录下,比如上传到用户目录下的input目录下,则入参可设置为:hdfs://localhost:9000/user/hadoop/input ,同理可将出参设置为hdfs://localhost:9000/user/hadoop/output,如此,整个入参需要填写为:dfs://localhost:9000/user/hadoop/input hdfs://localhost:9000/user/hadoop/output中间通过空格来分隔。需要注意的是hdfs://localhost:9000要与你core-site.xml的配置相对应。