hadoop-eclipse开发环境配置
来源:互联网 发布:在淘宝上怎么买狗 编辑:程序博客网 时间:2024/05/16 08:13
自0.20.x版本后不再提供现成的hadoop-eclipse插件而是给出了源码自行编译。开发人员需要手动编译
一、环境和所需软件
1、ubuntu 12.04
2、eclipse-jee-indigo-SR2-linux-gtk.tar.gz
3、ant-1.8.2(ubuntu下直接apt-get install ant即可)
4、hadoop-1.1.2
二、配置
修改${hadoop.root}/src/contrib目录的build-contrib.xml文件,添加eclipse路径和hadoop版本信息
<property name="eclipse.home" location="/usr/local/eclipse" /> <!--根据自己的实际路径修改--> <property name="version" value="1.1.2"/>
再修改里面的
<property name="root" value="${basedir}"/><property name="hadoop.root" location="${root}/../../../"/>改成
<property name="root" value="/usr/local/hadoop-1.1.2/src/contrib/eclipse-plugin"/> <property name="hadoop.root" location="/usr/local/hadoop-1.1.2"/> <!--根据自己的实际路径修改-->修改${hadoop.root}/src/contrib/eclipse-plugin目录下的build.xml文件,在id为classpath的path节点添加hadoop-core的jar依赖
<!-- Override classpath to include Eclipse SDK jars --> <path id="classpath"> <pathelement location="${build.classes}"/> <pathelement location="${hadoop.root}/build/classes"/> <!--hadoop-core --> <pathelement location="${hadoop.root}/hadoop-core-1.1.2.jar"/> <path refid="eclipse-sdk-jars"/> </path>
找到name为jar的target,将相应的jar文件打包进插件的lib目录
修改${hadoop.root}/src/contrib/eclipse-plugin/META-INF目录下MANIFEST.MF文件里面Bundle-ClassPath属性值<!-- Override jar target to specify manifest --> <target name="jar" depends="compile" unless="skip.contrib"> <mkdir dir="${build.dir}/lib"/> <!--<copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/> --> <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/> <!-- 将以下jar包打进hadoop-eclipse-1.1.2.jar中 --> <copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/> <jar jarfile="${build.dir}/hadoop-${name}-${version}.jar" manifest="${root}/META-INF/MANIFEST.MF"> <fileset dir="${build.dir}" includes="classes/ lib/"/> <fileset dir="${root}" includes="resources/ plugin.xml"/> </jar> </target>
Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-configuration-1.6.jar,lib/commons-httpclient-3.0.1.jar,lib/commons-lang-2.4.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar
在命令行进入 ${hadoop.root}/src/contrib/eclipse-plugin目录,输入ant命令
最后在${hadoop.root}/build/contrib/eclipse-plugin目录生成打包好的插件,将hadoop-eclipse-plugin-1.1.2.jar文件复制到eclipse的plugins目录即可
三、eclipse配置
1、 打开Window-->Preferens,你会发现HadoopMap/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。
2、选择window -> open perspective -> Other...,选择有大象图标的 Map/Reduce.
此时,就打开了Map/Reduce的开发环境。可以看到,右下角多了一个Map/Reduce Locations的框。如下图:
3、设置Hadoop的环境参数。
在Window-->Show View中打开Map/Reduce Locations
在Map/Reduce Locations中新建一个Hadoop Location。在这个View中,
右键-->New Hadoop Location。
在弹出的对话框中你需要配置Location name,如Hadoop,还有Map/Reduce Master和DFS Master。
这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。
下面所配置好后的一个示例:
配置完后退出。点击DFS Locations-->Hadoop,此时可能会出现org.apache.hadoop.security.AccessControlException: Permission denied:
解决方法:
管理DFS system目录。目前做法是将hadoop服务集群关闭权限认证,修改hadoop安装
集群master的hadoop/conf/mapred-site.xml,增加:(实际应用中这个方法不可取啊)
<property> <name>dfs.permissions</name> <value>false</value> </property>
修改后重启hadoop, 再在eclipse右击DFS Locations 下的hadoop选项,选择reconnect.
四、新建项目。
File-->New-->Other-->Map/Reduce Project 项目名可以随便取,如WordCount。
复制 hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java到刚才新建的项目src下面。
并修改WordCount.java的权限,这里简单起见直接chmod 777 WordCount.java,因为代码导入到eclipse后
需要修改包名
在本地新建word.txt
java c++ python c java c++ javascript helloworld hadoop mapreduce java hadoop hbase通过hadoop的命令在HDFS上创建/tmp/workcount目录,命令如下:bin/hadoop fs -mkdir /tmp/wordcount
通过copyFromLocal命令把本地的word.txt复制到HDFS上,命令如下:
bin/hadoop fs -copyFromLocal /home/grid/word.txt /tmp/wordcount/word.txt
五、运行项目:
1.在新建的项目Hadoop,点击WordCount.java,右键-->Run As-->Run Configurations
2.在弹出的Run Configurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount
3.配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如:
hdfs://localhost:9000/tmp/wordcount/word.txt hdfs://localhost:9000/tmp/wordcount/out
4、如果运行时报java.lang.OutOfMemoryError: Java heap space 配置VM arguments(在Program arguments下)
-Xms512m -Xmx1024m -XX:MaxPermSize=256m
5.点击Run,运行程序。
点击Run,运行程序,过段时间将运行完成,等运行结束后,可以在eclipse中查看运行结果,如下图:
或者在linux通过命令行使用命令: bin/hadoop fs -ls /tmp/wordcount/out查看例子的输出结果,发现有两个文件夹和一个文件,
使用命令查看part-r-00000文件, bin/hadoop fs -cat /tmp/wordcount/out/part-r-00000可以查看运行结果。
本文参考了多个博文后自己修改综合而成,在此表示感谢
http://www.cnblogs.com/chenying99/archive/2013/05/31/3109566.html
http://www.cnblogs.com/chenying99/archive/2013/05/09/3069228.html
http://february30thcf.iteye.com/blog/1768795
- eclipse hadoop开发环境配置
- eclipse hadoop开发环境配置
- eclipse hadoop开发环境配置
- hadoop-eclipse开发环境配置
- eclipse hadoop开发环境配置
- eclipse hadoop开发环境配置
- eclipse hadoop开发环境配置
- eclipse hadoop开发环境配置
- eclipse Hadoop开发环境配置
- eclipse hadoop开发环境配置
- Hadoop-1.2.1 Eclipse开发环境配置
- eclipse配置hadoop mapreduce开发环境
- 配置Hadoop开发环境(Eclipse)
- 配置Hadoop开发环境(Eclipse)
- Ubuntu配置hadoop的eclipse开发环境
- Eclipse配置hadoop开发环境(win7)
- Hadoop开发环境搭建-Eclipse插件配置
- 在Eclipse上配置Hadoop开发环境
- 分析 JavaScript 中令人困惑的变量赋值
- 代码片段
- Android ListView优化的另一种实现方式
- Windows 8 之 windbg 配置
- 如何利用usrp2和matlab2013a结合,设计一个扫频信号发生器?
- hadoop-eclipse开发环境配置
- linux下 UDP 实现聊天室
- 不只是做你自己,而是更好的做你自己
- MainFrm.h
- GDB扩展之Command File - 提高调试效率
- weblogic 调节内存
- 怎么用js删除div里的内容,但不删除div本身
- 《算法竞赛入门经典》-【第七章:暴力求解法】-7.2:枚举排列
- ZOJ 1204 一个集合能组成多少个等式