eclipse中配置hadoop开发环境-----删除之前版本的hadoop插件、编译hadoop eclipse插件、安装插件、eclipse下运行hadoop程序

时间:2023-01-30 20:12:31

一、删除hadoop插件(如果你已经装一个hadoop版本相应的插件)

1、到eclipse安装目录下的\plugins文件夹中刷出 hadoop的插件 2、删除到eclipse安装目录下的\configuration\org.eclipse.update文件夹 3、启动eclipse 4、如果左上角有map/reduce图标,点击---> close 5、关闭eclipse,删除到eclipse安装目录下的\configuration\org.eclipse.update文件夹

二、编译hadoop eclipse 插件

1、在eclipse里新建一个java项目,名字随意。
2、把hadoop 1.0.2解压目录\src\contrib\eclipse-plugin下所有文件直接拖拽到项目中。\src\contrib目录下的build-contrib.xml也拖拽到项目中。 3、修改build-contrib.xml:找到<property name="hadoop.root" location="${root}/../../../"/>修改location为hadoop1.0.2实际解压目录,在其下添加

      <property name="eclipse.home" location="D:/Programming/Eclipse"/>
      <property name="version" value="1.0.2"/>

      具体位置需要改为你的,注意location里的斜杠方向。

4、修改build.xml:找到<import file="../build-contrib.xml"/>,改为<import file="build-contrib.xml"/>

在build.xml中添加:

     <path id="hadoop-jars">
        <fileset dir="${hadoop.root}/">
          <include name="hadoop-*.jar"/>
        </fileset> 
      </path>

在<path id="classpath">中添加:<path refid="hadoop-jars"/>

5、在hadoop解压目录下复制两个jar,没有目录就新建这些目录。分别是:\hadoop-core-1.0.2.jar 到 \build\hadoop-core-1.0.2.jar;\lib\commons-cli-1.2.jar到\build\ivy\lib\Hadoop\common\commons-cli-1.2.jar

6、右键eclipse里的build.xml选择run as - ant build。等待一小会就好了。可以通过编译日志,找到插件产生目录:[jar] Building jar: E:\hadoop\hadoop-1.1.1\hadoop-1.1.1\build\contrib\eclipse-plugin\hadoop-eclipse-plugin-1.1.1.jar

7、这个jar包还不行,虽然能创建视图,新建location,但是连接的时候会各种报错。缺少hadoop的jar包,【引用参考1】将/lib目录下的 commons-configuration-1.6.jar , commons-httpclient-3.0.1.jar , commons-lang-2.4.jar , jackson-core-asl-1.8.8.jar 和 jackson-mapper-asl-1.8.8.jar 等5个包复制到hadoop-eclipse-plugin-1.0.2.jar的lib目录下(用winRAR打开hadoop-eclipse-plugin-1.0.2.jar,拖进去就行)。然后,修改该包META-INF目录下的MANIFEST.MF,将classpath修改为一下内容:

Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar。

8、至此,这个插件就算编译完成了。推荐使用link方式挂载到eclipse中。

3、安装插件

1、拷贝Hadoop项目中的eclipse plugin jar文件到eclipse 安装目录plugin目录下
2.重启eclipse,配置hadoop installation directory。如果安装插件成功,打开Window-->Preferens,你会发现Hadoop Map/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。 

eclipse中配置hadoop开发环境-----删除之前版本的hadoop插件、编译hadoop eclipse插件、安装插件、eclipse下运行hadoop程序

3.配置Map/Reduce Locations。 

在Window-->Show View->other...,在MapReduce Tools中选择Map/Reduce Locations。

eclipse中配置hadoop开发环境-----删除之前版本的hadoop插件、编译hadoop eclipse插件、安装插件、eclipse下运行hadoop程序 


在Map/Reduce Locations(Eclipse界面的正下方)中新建一个Hadoop Location。在这个View中,点击鼠标右键-->New Hadoop Location。在弹出的对话框中你需要配置Location name,可任意填,如Hadoop,以及Map/Reduce Master和DFS Master。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。我的这两个文件中配置如下: 

mapred-site.xml

[html] view plaincopy
  1. <property>  
  2. <name>mapred.job.tracker</name>  
  3. <value>matraxa:9001</value>  
  4. </property>  

core-site.xml:

[html] view plaincopy
  1. <property>  
  2. <name>fs.default.name</name>  
  3. <value>hdfs://matraxa:9000</value>  
  4. </property>  


最后的配置截图如下:
eclipse中配置hadoop开发环境-----删除之前版本的hadoop插件、编译hadoop eclipse插件、安装插件、eclipse下运行hadoop程序


设置完成后,点击Finish就应用了该设置。然后,在最左边的Project Explorer中就能看到DFS的目录,如下图所示:

eclipse中配置hadoop开发环境-----删除之前版本的hadoop插件、编译hadoop eclipse插件、安装插件、eclipse下运行hadoop程序



4、建立、运行hadoop程序

1、新建项目。 
File-->New-->Other-->Map/Reduce Project 
项目名可以随便取,如hadoopTest。 
复制 hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java到刚才新建的项目下面。 


2、上传模拟数据文件夹。 
为了运行程序,需要一个输入的文件夹和输出的文件夹。输出文件夹,在程序运行完成后会自动生成。我们需要给程序一个输入文件夹。 

(1)、在当前目录(如hadoop安装目录)下新建文件夹input,并在文件夹下新建两个文件file01、file02,这两个文件内容分别如下: 

file01 

[java] view plaincopy
  1. Hello World Bye World  

file02 

[java] view plaincopy
  1. Hello Hadoop Goodbye Hadoop  

(2)、.将文件夹input上传到分布式文件系统中。 


在已经启动Hadoop守护进程终端中cd 到hadoop安装目录,运行下面命令: 
[java] view plaincopy
  1. bin/hadoop fs -put input input  


这个命令将input文件夹上传到了hadoop文件系统了,在该系统下就多了一个input01文件夹,你可以使用下面命令查看: 
[java] view plaincopy
  1. bin/hadoop fs -ls    


3、运行项目。 


(1)、在新建的项目hadoop-test,点击WordCount.java,右键-->Run As-->Run Configurations 
(2)、在弹出的Run Configurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount 

(3)、配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如: 

这里面的input就是你刚传上去文件夹。文件夹地址你可以根据自己具体情况填写。如下图:



[java] view plaincopy
  1. hdfs://matraxa:9000/user/matraxa/input hdfs://matraxa:9000/user/matraxa/outpu

eclipse中配置hadoop开发环境-----删除之前版本的hadoop插件、编译hadoop eclipse插件、安装插件、eclipse下运行hadoop程序


注意:虚拟机的启动参数"VM arguments"还是要填,不然会报堆不够的错误!具体见上图的填法

(4)、点击Run,运行程序。 

点击Run,运行程序,过段时间将运行完成,等运行结束后,可以在终端中用命令如下,查看是否生成文件夹output: 

bin/hadoop fs -ls  

用下面命令查看生成的文件内容: 

bin/hadoop fs -cat output01/* 


如果显示如下,说明已经成功在eclipse下运行第一个MapReduce程序了。 

[html] view plaincopy
  1. Bye 1    
  2. Goodbye 1    
  3. Hadoop  2    
  4. Hello   2    
  5. World   2   

[java] view plaincopy
  1. hdfs://matraxa:9000/user/matraxa/input hdfs://matraxa:9000/user/matraxa/outpu