配置Hadoop开发环境(Eclipse)

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

通常我们可以用Eclipse作为Hadoop程序的开发平台。

1)  下载Eclipse

下载地址:http://www.eclipse.org/downloads/

根据操作系统类型,选择合适的版本下载并安装。

2)  下载并编译Hadoop的Eclipse插件

网上可直接下载到Hadoop 1.x 的Eclipse插件,但是该插件和Hadoop2.2 不兼容,所以无法使用。

Hadoop 2.2 的Eclipse插件正处于开发过程中,你可以直接下载源代码并编译。本人在编译过程中碰到了一些ant的配置错误导致无法正常编译,修改ant配置即编译成功,为方便大家,我直接提供编译后的.jar文件供大家下载:

代码下载地址:https://github.com/winghc/hadoop2x-eclipse-plugin

编译后的插件下载地址:http://download.csdn.net/detail/zythy/6735167

3)  配置Hadoop插件

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

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

配置Hadoop开发环境(Eclipse)

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

配置Hadoop开发环境(Eclipse)

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

配置Hadoop开发环境(Eclipse)

 

4)  新建简单Mapreduce项目

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

配置Hadoop开发环境(Eclipse)

5)  通过Eclipse访问DFS

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

配置Hadoop开发环境(Eclipse)

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

配置Hadoop开发环境(Eclipse)

 

至此,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>