首页 > 大数据 > 可视化 > 在Eclipse上配置hadoop环境
在完成hadoop集群配置之后,我们可以搭建Eclipse环境,以使得开发MapReduce程序有个更舒服的环境。
下载安装Eclipse
下载eclipse
网上说选择Eclipse版本很重要,要3.3以上的可以。
我这边下载是eclipse-SDK-4.2.1-linux-gtk.tar.gz
有人介绍SpringSource Tool,没有测试过。下载地址:http://www.springsource.org/downloads/sts
安装eclipse
sudo tar xvfz eclipse-php-galileo-linux-gtk.tar.gz -C /opt 解压缩后就可以使用。
编译hadoop eclipse插件
可以自己编译打包,我根据网上的方法编译均失败,所以就直接下载一个插件使用。下载地址:http://download.csdn.net/detail/t496036222/4735804#comment
把下载后的hadoop-eclipse-plugin-1.0.4.jar放到eclipse的plugins文件夹中。
在/usr/bin目录下创建一个启动脚本eclipse
sudo gedit /usr/bin/eclipse
然后在该文件中添加以下内容:
#!/bin/sh
export MOZILLA_FIVE_HOME=/usr/lib/mozilla/
export ECLIPSE_HOME=/opt/eclipse
$ECLIPSE_HOME/eclipse $*
(3)让修改该脚本的权限,让它变成可执行,执行下面的命令:
sudo chmod +x /usr/bin/eclipse
配置hadoop
点击Windows-->Preferrence-->hadoop map/reduce, Brower 选择下载的hadoop-1.0.4所在的路径.
点击 Windows-->Show View -->Other --> Map/Reduce Location,打开Hadoop的MapReduce View.
会出现一个Edit Hadoop Location的界面
Location name随便填,只是一个标识
Map/Reduce Master:
两个参数就是 mapred-site.xml中mapred.job.tracker的ip和端口
DFS Master:
两个参数就是
User Name:
搭建Hadoop集群时所用的用户名,我这里用的是mini
确定之后在下方会出现一个Hadoop
填完之后重启eclipse,右键下方View中的Hadoop,Edit Hadoop Location,选择Advanced Parameters, 配置hadoop.tmp.dir这项,我在core-site.xml中配置的是/home/hadoop/sysdata/1.0.4/tmp,所以这边也配置一样。
测试WordCount程序
建立MapReduce工程
选择FileNewotherMap/Reduce Project,工程名直接写WordCount。此时可以看到出现了一个DFS Locations,点击进去显示得出来没报错的话,即前面的配置没有问题。
在命令行中,向hdfs中上传文本文件:
hadoop fs -mkdir /input
hadoop fs -put /home/hadoop/code/data/data_in/*.txt /input/ #向input文件夹里放入需要处理的txt文件
在src中建一个package,包名直接取名WordCount。把$HADOOP_HOME/src/examples/org/apache/hadoop/examples中的WordCount.java复制到这个package中,修改WordCount.java,把第一行package删掉。然后右键WordCountRun asRun Configurations。
右键java application,new一个,可以取名wordcount,在argument中Program argumens填上参数,分别为输入文件和输出文件 hdfs://master:9000/user/mini/input/ hdfs://master:9000/user/mini/output
运行,选择run on hadoop,有正常运行即表示Eclipse下的Hadoop MapReduce开发的基本环境设置成功。
出现问题
【问题】
在ssh localhost之后运行eclipse出现No more handles [gtk_init_check() failed]
【解决方案】
vncserver -kill :1
vncserver :1
export DISPLAY=localhost:1
网上介绍以上方法,实验无效
最好退出ssh,退出ssh就可以进eclipse
【问题】
Eclipse运行时出现selection dose not contain a main type
【解决方案】
WordCount.java应该放在src中,而不应该放在src外。放在src中,建package,放里面就可以。
2013.2.29
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22705293/viewspace-1119525/ ,如需转载,请注明出处,否则将追究法律责任。