您的位置:首页 > 编程语言 > Java开发

eclipse配置hadoop开发环境并运行WordCount小程序

2016-07-12 15:53 756 查看
本篇博客讲述如何用eclipse配置hadoop的开发环境,并且建立第一个小程序,WordCount。

本篇博客一些配置选项基于上一篇博客hadoop环境的配置。

环境说明:eclipse3.7,插件hadoop-eclipse-plugin-0.20.3-SNAPSHOT.jar,

cygwin

下载eclipse3.7,安装插件

根据其他博主推荐,3.7是百分百可行的,其他版本不保证,包括3.7.x,

亲测确实3.7绝对可行,将下载好的插件放入plugins文件夹下,重启即可。重启后如下图所示即表示成功。另外,hadoop0.20版本比较底,最好使用jdk1.6。



配置hadoop信息

Window – Preferences – Hadoop Map/Reduce

指向之前在本地解压的hadoop文件地址,例:

D:\developPath\hadoop

Window -Show View – Other - Map/Reduce Locations



右击 – New Hadoop – Location



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

如有错误,还望指出,共同进步;手敲累抽搐,装载注出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息