Windows下在Eclipse中编译Hadoop问题记录

1.Cygwin下的ssh服务启动

需要在cygwin下配置sshd服务。若之前已经设置过sshd,启动时可能会出错:


此时需要先删除sshd服务:sc delete sshd,然后重新运行“ssh-host-config”来设置,但是后面可能出现以下错误:


原因是在前面提示“Do you want to use adifferent name?”的时候选择了否。重新运行配置,然后选择yes,然后重新创建新的用户名并运行密码即可。

 

2. 伪分布式Hadoop启动

       启动时出现NameNode无法启动,地址被占用的情况:“address already inuse”。可以用netstat查看端口占用情况。看到进程ID后,根据ID号去windows任务管理器下面查看,可以看到是PPTV的进程在占用,关掉即可。参考:http://zsybupt.iteye.com/blog/1707200 

 

3. hadoop-eclipse插件的编译(hadoop1.1.1版本)

       参考:http://wenku.baidu.com/link?url=19DgPvMLqFBby_Xj5j7AB1Qa-7jLCVevmb7mRcwEuAM5aCIwVQi21j84fg0dOtlAY8NnuxBB487dtAcZLnammZidgcOUetggmAA7Px1i5MO

 

4. eclipse下build Hadoop错误


解决办法:修改hadoop根目录下的\src\saveVersion.sh文件,把user=`whoami`改成user=`用户名`,或者修改build.xml文件的某处。

参考:http://blog.itpub.net/8183550/viewspace-683859/ 或http://zhengzhuangjie.iteye.com/blog/1582283

继续build,再次出错,如下:

D:\program\cygwin\home\hjy\hadoop-1.1.1\build.xml:618:Execute failed: java.io.IOException: Cannot run program "autoreconf" (indirectory "D:\program\cygwin\home\hjy\hadoop-1.1.1\src\native"):CreateProcess error=2, ?????????

因为hadoop不支持在windows下进行native build。首先尝试安装autoreconf,autoreconf包含在autoconf包中,从http://man.chinaunix.net/linux/lfs/htmlbook/appendixa/autoconf.html 下载autoconf安装包,然后./configure、make、make install,然后检验安装成功了autoreconf。但是依然报上述错误,放弃!

另外一种方法是从build.xml文件着手,删除相关需要native build的target,可以参考:https://ekasiswanto.wordpress.com/2012/09/21/how-to-compile-hadoop-in-windows/  通过删除所有用到autoreconf的<exec>然后build,成功!

 

5. eclipse下运行WordCount程序没反应

       添加log4j.properties文件,打印出错误日志信息,如下:

2014-12-0915:25:12,336 WARN  util.NativeCodeLoader- Unable to load native-hadoop library for your platform... using builtin-javaclasses where applicable

2014-12-0915:25:12,336 ERROR security.UserGroupInformation - PriviledgedActionExceptionas:hjy cause:java.io.IOException: Failed to set permissions of path:\tmp\hadoop-root\mapred\staging\root-1899690988\.staging to 0700

解决办法:修改org.apache.hadoop.fs.FileUtil类中的checkReturnValue方法,去掉方法体并重新编译。参考 http://blog.csdn.net/zwx19921215/article/details/19921579

修改后运行成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值