下午终于在Eclispe下面调通hasoop的WordCount例子了,期间碰到了很多的问题,有些是环境的问题,有些是配制问题。这里分享一下我碰到的问题。
0.我的系统环境:
win7操作系统
Cygwin
Hadoop-0.20.2
Eclipse:3.3
1.Cygwin和hadoop的安装。这个问题网上有很多的BLOG,具体步骤可以参考他们。
推荐的BLOG:
Cygwin的安装:http://hi.baidu.com/%BD%AB%D6%AE%B7%E7_%BE%B2%D6%AE%D4%A8/blog/item/8832551c7598551f314e15c2.html
Hadoop的设置:http://hi.baidu.com/%BD%AB%D6%AE%B7%E7_%BE%B2%D6%AE%D4%A8/blog/item/a0ebb1db953a772033fa1c9a.html
2.Eclipse的安装:网上也有很多的BLOG对此进行十分详细的描述。他们有些是用Unbantu,有些是用Cygwin的,但在Ecilipse这方面,是十分相似的。所以可以参考他们。
推荐的两个BLOG:
http://blog.csdn.net/yanical/article/details/4474830
http://phz50.iteye.com/blog/932373
我就是根据这两篇配置出来的。
3. 遇到的问题
1) run as -> run on hadoop 运行没有效果。
就是run on hadoop不会弹出对话框,开始时我用的是galleo的Eclipse,运行不能弹出对话,选择版本小于等3.3的Eclipse。
2) hadoop Cannot run program "chmod": CreateProcess error=2, ????????? 错误的问题
具体报的错误忘了,这个错误的解决方法就是,cygwin\bin的路径加入到path中
3)org.apache.hadoop.security.AccessControlException: Permission denied: user =test , access=WRITE, inode="pokes":hadoop:supergroup:rwxr-xr-x
方法: 打开插件“Map/Reduce Location”,选中一个Location,打开“Advance parameters” Tab,找到"hadoop.job.ugi",可以看到我这里设置是:“test,Tardis”,修改为“hadoop, Tardis”,保存。
此外还有其他的方法,说什么扩大权限什么的,我试过了不行。不知道是我路径的问题还是其他什么的。要是按上面不行的话,你们可以试试,那边文章源地址是台湾地区的一个论坛。
4)运行参数问题,即运行传入args的参数的问题
在这个问题上,好像有很多种答案。我最开始是按照(Eclipse的安装)两篇BLOG来设置的,结果很统一,都是找不到相应路径。然后按照网上其他方法的来也不行,无论是以hdfs://loclhost开头还是直接以/user/....开头的设置方法。
我的解决方法:
HDFS的结构:
参数的设置:
这样设置以后就可以了。
上面的问题是我调试的过程中,遇到的印象比较深刻的问题。当然,在调试的过程遇到各种问题都是正常的。下面是几篇我参考过的BLOG,现在贴出来,希望对你们有用。
http://www.huomo.cn/developer/article-dd15.html
http://gongwanlu.iteye.com/blog/841356
http://heipark.iteye.com/blog/786302