本篇博客讲述如何用eclipse配置hadoop的开发环境,并且建立第一个小程序,WordCount。
本篇博客一些配置选项基于上一篇博客hadoop环境的配置。
环境说明:eclipse3.7,插件hadoop-eclipse-plugin-0.20.3-SNAPSHOT.jar,
cygwin
根据其他博主推荐,3.7是百分百可行的,其他版本不保证,包括3.7.x,
亲测确实3.7绝对可行,将下载好的插件放入plugins文件夹下,重启即可。重启后如下图所示即表示成功。另外,hadoop0.20版本比较底,最好使用jdk1.6。
Window – Preferences – Hadoop Map/Reduce
指向之前在本地解压的hadoop文件地址,例:
D:\developPath\hadoop
Window -Show View – Other - Map/Reduce Locations
Advanced
parameters重要配置如下,其他可以不管,配置好后重启会自动修改。其中hadoop是我的用户名,其他配置是基于上一篇博客的配置。
WordCount测试程序我就不贴上来了,网上有很多,如果有需要,我会在文章结尾处和eclipse3.7压缩包及插件一起打包分享。
在测试前,先把hadoop启动。如果配置成功会有如下显示:
将测试文件上传到hadoop服务器上,命令如下:
hadoop fs –mkdir /input
hadoop fs –put /usr/download/test.txt /input
hadoop fs -ls /input
命令表示:
在hadoop中创建input目录
将linux下/usr/download/test.txt文件放入到hadoop的input目录下
查看input目录下文件信息
在运行前,通常要传入两个参数,一个是输入文件参数,一个是输出文件参数,输入文件参数就是刚才的input文件夹,输出参数则是output文件夹,而output文件夹不用事先建好,会自动生成,事前建好反而会报错,参数传递方式可以写在java文件里,也可以在运行时传递。
hdfs://192.168.1.130:54310/input/test.txt
hdfs://192.168.1.130:54310/output
右击WordCount类,Run As – Run On Hadoop
a) hadoop配置后没有DFS Locations具体显示,一直在connect
查看配置是否正确,用户是否正确,免登录是否成功,端口是否开放,防火墙是不是关闭了。
CentOS 7用的是firewall,开启端口命令如下:
firewall-cmd –add-port=1-60000/tcp
表示从1到60000的端口都开放了,可以用tcp协议访问,如果关闭防火墙,反而会访问不了,建议开启端口即可。
a) 程序无法运行
如果DFS Locations已经有显示了,表示配置成功,如果提示Exception in
thread “main” java.io.IOException: Cannot run program “chmod”:
CreateProcess error=2那么安装cygwin软件,并将其bin目录配置到Path环境下即可,过程同window下配置JAVA_HOME一样,
如果其他问题,则注意是否是端口写错了。
附带资源下载:
http://download.csdn.net/detail/feiepuhuo001/9573478
如有错误,还望指出,共同进步;手敲累抽搐,装载注出处。