在Windows上使用Eclipse配置Hadoop MapReduce开发环境

在Windows上使用Eclipse配置Hadoop MapReduce开发环境

1. 系统环境及所需文件

  • windows 8.1 64bit
  • Eclipse (Version: Luna Release 4.4.0)
  • hadoop-eclipse-plugin-2.7.0.jar
  • hadoop.dll & winutils.exe

2. 修改Master节点的hdfs-site.xml

添加如下内容

<property> 
    <name>dfs.permissions</name> 
    <value>false</value> 
</property> 

旨在取消权限检查,原因是为了解决我在windows机器上配置eclipse连接hadoop服务器时,配置map/reduce连接后报以下错误,org.apache.hadoop.security.AccessControlException: Permission denied:

3. 配置Hadoop插件

  1. 将下载的hadoop-eclipse-plugin-2.7.0.jar文件放到Eclipse的plugins目录下,重启Eclipse即可看到该插件已生效
  2. 创建New hadoop location, Eclipse菜单栏Window -> Show View -> Other MapReduce Tools -> Map/Reduce Locations

在Windows上使用Eclipse配置Hadoop MapReduce开发环境_第1张图片
3. 配置完毕,查看效果
在Windows上使用Eclipse配置Hadoop MapReduce开发环境_第2张图片

4. 创建一个Map/Reduce Project

  1. 新建项目 File–New–Other–Map/Reduce Project 命名为WordCount
    (从hadoop-2.6.0-cdh5.4.1源码中拷贝WordCount.java, F:\DevTools\hadoop-2.6.0-cdh5.4.1\src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples\WordCount.java)

2.java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)异常问题

修改Master节点中hadoop-2.6.0-cdh5.4.1\src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio\NativeIO.java

然后在/src/hadoop-common-project/hadoop-common目录下 用maven重新编译jar包
mvn package -Pdist,native -DskipTests -Dtar -e -X
编译完成后会在hadoop-common/target生成相应的jar包只需要用hadoop-common-2.6.0-cdh5.4.1.jar替换掉windows下$HADOOP_HOME\share\hadoop\common目录对应的jar包

5. windows下运行环境配置

将下载下来的hadoop.dll,winutils.exe拷贝到$HADOOP_HOME/bin目录下

6. 运行WordCount Project

在eclipse中点击WordCount.java,右键,点击Run As—>Run Configurations,配置运行参数,即输入和输出文件夹

hdfs://Master:9000/input 
hdfs://Master:9000/output 

(注意:如果output目录已经存在,则删掉或换个名字,如output01,output02 。。。 )

7. 运行结果

在Windows上使用Eclipse配置Hadoop MapReduce开发环境_第3张图片

你可能感兴趣的:(eclipse,mapreduce,hadoop,plugin)