zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

Hadoop-1.2.1 Eclipse开发环境配置

2023-09-14 08:59:39 时间
   记得早在Hadoop 0.20.2版本的时候,在$HADOOP_HOME/contrib/eclipse-plugin目录下直接就有一个hadoop-eclipse-luging-0.20.2.jar的包,我们只需要将这个包放到$ECLIPSE_HOME/plugins目录下,然后重启Eclipse即可。


       前一段换成了Hadoop 1.2.1版本,在搭建Eclipse环境的时候,发现没有这个包,但是在$HADOOP_HOME/src/contrib/eclipse-plugin目录下有这个jar包的源代码,从网上查询后才知道需要自己使用Ant来编译生成hadoop-eclipse-luging-1.2.1.jar。于是就搭建了Ant环境,通过查看$HADOOP_HOME/src/contrib/eclipse-plugin/build.xml知道,编译时需要传入几个参数,那么编译的命令如下:



       但是在运行的过程中,却报了好多类和包找不到的错误。在网上查询答案时,发现大家的做法基本都是对build.xml文件做较多的修改,而且按照他们的办法我也没有运行成功。经过自己的摸索,加上一定的运气,我找到了如下的方法:        1、在Hadoop根目录下也有一个build.xml,在此目录下执行命令:ant。Hadoop有篇Wiki上说是要在源码包的src目录下运行ant,在生成其他东西的过程中也会生成我们需要的hadoop-eclipse-luging-1.2.1.jar。我没有下载Hadoop的源码包,而是直接在Release包中运行的。(这一步的目的是为之后的编译配置环境,这一步会执行失败,但是不用管,我们需要的环境已经有了)

       2、$HADOOP_HOME/src/contrib/eclipse-plugin/build.xml中还是有个错误需要修改:


copy file="${hadoop.root}/ span  build /span /hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/    
copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/   
       我们去掉了“build”,这可能是新版本的jar包位置发生改变,但是代码没有做相应的修改。

       经过测试,发现只做以上修改,只是能够生成jar包,但是放入Eclipse下之后发现不能用。网上搜索到的解决办法如下:

       在上面代码后加入如下的代码:


copy file="${hadoop.root}/lib/commons-configuration-${commons-configuration.version}.jar"  todir="${build.dir}/lib" verbose="true"/   
copy file="${hadoop.root}/lib/commons-httpclient-${commons-httpclient.version}.jar"  todir="${build.dir}/lib" verbose="true"/   
copy file="${hadoop.root}/lib/commons-lang-${commons-lang.version}.jar"  todir="${build.dir}/lib" verbose="true"/   
copy file="${hadoop.root}/lib/jackson-core-asl-${jackson.version}.jar"  todir="${build.dir}/lib" verbose="true"/   
copy file="${hadoop.root}/lib/jackson-mapper-asl-${jackson.version}.jar"  todir="${build.dir}/lib" verbose="true"/   
lib/commons-lang-2.4.jar 必须在这里修改,亲测在生成后的jar包中修改无效,貌似会破坏jar包的校验值。

       3、修改完文件后保存退出,然后在$HADOOP_HOME/src/contrib/eclipse-plugin目录下执行:


然后就可以在$HADOOP_HOME/build/contrib/eclipse-plugin目录下看到hadoop-eclipse-luging-1.2.1.jar,将这个jar包放入$ECLIPSE_HOME/plugins,重启Eclipse即可创建MapReduce Project。

3)  配置Hadoop插件

将下载的hadoop-eclipse-plugin-2.2.0.jar文件放到Eclipse的dropins目录下,重启Eclipse即可看到该插件已生效。

通过Open Perspective菜单打开Map Reduce视图,如下:


选中大象图标,右键点击Edit Hadoop Location编辑Hadoop配置信息:


填写正确的Map/Reduce和HDFS信息。(具体根据您的配置而定)

 

4)  新建简单Mapreduce项目

通过向导新建一个Map/Reduce项目。在此过程中,请配置Hadoop的安装路径。


5)  通过Eclipse访问DFS

打开Resource视图,即可看到DFS:


此时,你可对DFS进行一些操作,比如上传本地文件到HDFS等等,如下图:

 

至此,Hadoop的开发环境大致配置完成,下一节我们将看到如何写一个简单的MapReduce程序并放到Hadoop集群上运行。


附上我自己本地环境的几个配置文件内容供大家参考,有错之处敬请指正,谢谢!

1)Core-stie.xml

configuration
  property
    name fs.default.name /name
    value hdfs://localhost:9000 /value
  /property
/configuration

2)hdfs-site.xml

  configuration
property
name dfs.replication /name
value 1 /value
/property
property
name dfs.namenode.name.dir /name
value file:/var/data/hadoop/hdfs/nn /value
/property
property
name fs.checkpoint.dir /name
value file:/var/data/hadoop/hdfs/snn /value
/property
property
name fs.checkpoint.edits.dir /name
value file:/var/data/hadoop/hdfs/snn /value
/property
property
name dfs.datanode.data.dir /name
value file:/var/data/hadoop/hdfs/dn /value
/property
/configuration

3)Mapred-site.xml

configuration
  property
name mapreduce.framework.name /name
value yarn /value
/property
/configuration


4)yarn-site.xml

configuration
!-- Site specific YARN configuration properties --  
property
name yarn.nodemanager.aux-services /name
value mapreduce_shuffle /value
/property
property
name yarn.nodemanager.aux-services.mapreduce.shuffle.class /name
value org.apache.hadoop.mapred.ShuffleHandler /value
/property
/configuration