Eclipse远程调试Hadoop集群

准备工作:

    Hadoop安装完成(我的版本为1.2.1)。

    搞一个比较干净的Eclipse。

    下载与Hadoop版本相匹配的插件:hadoop-eclipse-plugin-1.2.1.jar

安装、配置:

1. 将插件拷贝到eclipse安装目录的plugins文件夹中,如果重新打开eclipse后看到有如下视图,则说明你的hadoop插件已经安装成功了。

Eclipse远程调试Hadoop集群_第1张图片

Hadoop installation directory指定你的Hadoop解压了路径。

2. 设置MapReduce Location。

在Window-->Show View中打开Map/Reduce Locations。 
在Map/Reduce Locations中新建一个Hadoop Location。在这个View中,右键-->New Hadoop Location。在弹出的对话框中你需要配置Location name,如Hadoop,还有Map/Reduce Master和DFS Master。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。

Eclipse远程调试Hadoop集群_第2张图片

连接成功则会显示DFS里面的内容

Eclipse远程调试Hadoop集群_第3张图片

3. 运行WorldCount程序。

发现报错:

14/12/14 15:32:44 ERROR security.UserGroupInformation: PriviledgedActionException as:Administrator cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-..此处省略...\.staging to 0700 
Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\...此处省略. to 0700

网上说是因为Windows下文件权限问题,需要将hadoop-core-1.2.1.jar中的src/core/org/apache/hadoop/fs/FileUtil.java里面调用checkReturnValue方法的地方注掉即可(在Windows下不需要去检查),然后重新编译、打包。我的做法是将hadoop-core-1.2.1.jar中的源码修改之后,重新编译生成class文件,找到FileUtil.class直接将jar包中的文件替换即可。

如果你还嫌麻烦,直接下载我编译好的即可。点击下载hadoop-core-1.2.1.jar

再次运行WorldCount程序,跑起来了。

友情提示:Eclipse如何跑MapReduce程序,在我的另一篇博客MapReduce统计词语出现次数中有详细描述.

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