可能因为计算机配置太垃圾,在虚拟机里用Eclipse,几乎要卡死!
所以现在尝试使用Windows下Eclipse操作虚拟机中Hadoop,步骤如下:

开发环境:Hadoop2.7.1,Ubuntu Kylin 14.04

1.修改配置文件core-site.xml,将其中localhost改为虚拟机的ip地址:

在Ubuntu中,打开控制台,使用命令ifconfig查看虚拟机ip,如图:

winhadoop-1 修改【hadoop安装路径】
/etc/hadoop下的 core-site.xml文件,如图:
winhadoop-2
2.安装Hadoop-Eclipse-Plugin

(以下操作在Window系统中进行)
下载hadoop2x-eclipse-pluginhttps://github.com/winghc/hadoop2x-eclipse-plugin
解压hadoop2x-eclipse-plugin,将其中的hadoop-eclipse-plugin-2.6.0.jar复制到Eclipse安装目录下的plugins文件夹中,启动Eclipse。
下载Hadoop安装包(与虚拟机中相同):http://mirror.bit.edu.cn/apache/hadoop/common/
Hadoop安装包解压到windows系统中,这里我解压到D:\hadoop
选择 Window 菜单下的 Preference,左侧找到Hadoop Map/Reduce,填写刚刚解压的Hadoop目录,如图:

winhadoop-3  
3.配置Hadoop-Eclipse-Plugin

选择 Window 菜单下Show View——Other,找到Map/Reduce Localtions,点击Open,如图:

winhadoop-4   在Map/Reduce Locations面板中右击,选择
New Hadoop location
winhadoop-5   配置如下:

winhadoop-6  
4.启动hadoop,此时已经可以看到HDFS中的文件了:

winhadoop-7  
5.配置winutils

如果此时运行MapReduce程序,会出现
Could not locate executable null\winutils.exe in the Hadoop binaries.所以还需进行以下配置

  • 配置环境变量,新建变量HADOOP_HOME,值为Hadoop目录,然后在PATH中添加%HADOOP_HOME%\bin(可能要重启)
  • 下载winutils(hadoop2.7.x) https://download.csdn.net/download/gendlee1991/10167002 winutils.exe放置在%HADOOP_HOME%\bin目录下,,hadoop.dll放置在Windows\System下。
  • 注意:在window环境下编写MapReduce任务时,应注意配置hdfs的地址为虚拟机ip+端口号
//...
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.217.128:9000");
//...
6.遇到问题:

但现在使用Eclipse修改HDFS上的内容时,还会出现如下错误:
org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlException: Permission denied: user=Administrator, access=WRITE, inode="hadoop": hadoop:supergroup:rwxr-xr-x 解决办法:
修改hdfs-site.xml文件,在configuration标签中(之前)添加以下内容:

<property>
    <name>dfs.permissions</name>
    <value>false</value>
    <description>
    If "true", enable permission checking in HDFS.
    If "false", permission checking is turned off,
    but all other behavior is unchanged.
    Switching from one parameter value to the other does not change the mode,
    owner or group of files or directories.
    </description>
</property>

如图:

winhadoop-8   之后就不会报错了

参考:
https://blog.csdn.net/hsl_1990_08_15/article/details/50704425
https://blog.csdn.net/hfut_jf/article/details/48739585
http://www.cnblogs.com/acmy/archive/2011/10/28/2227901.html
https://blog.csdn.net/love666666shen/article/details/78812622