网上有一些都是在Linux下使用安装Eclipse来进行Hadoop应用开发,但是大部分Java程序员对Linux系统不是那么熟悉,所以需要在Windows下开发Hadoop程序,所以经过试验,总结了下如何在Windows下使用Eclipse来开发Hadoop程序代码。

1、 需要下载hadoop的专门插件jar包

hadoop版本为2.3.0,hadoop集群搭建在centos6x上面,插件包下载地址为

------------------------------------------分割线------------------------------------------

用户名:ftp1.linuxidc.com

密码:www.linuxidc.com

在 2014年LinuxIDC.com\12月\Hadoop 在Windows7操作系统下使用Eclipse来搭建Hadoop开发环境

------------------------------------------分割线------------------------------------------

jar包名字为hadoop-eclipse-plugin-2.3.0,可以适用于hadoop2x系列软件版本。

2、 把插件包放到eclipse/plugins目录下

为了以后方便,我这里把尽可能多的jar包都放进来了,如下图所示:

linux在hadoop102执行 ping hadoop103 ping不同_xml

3、重启eclipse,配置Hadoop installation directory

如果插件安装成功,打开Windows—Preferences后,在窗口左侧会有Hadoop Map/Reduce选项,点击此选项,在窗口右侧设置Hadoop安装路径。

linux在hadoop102执行 ping hadoop103 ping不同_xml_02

4、配置Map/Reduce Locations

打开Windows-->Open Perspective-->Other

linux在hadoop102执行 ping hadoop103 ping不同_xml_03

选择Map/Reduce,点击OK,在右下方看到有个Map/Reduce Locations的图标,如下图所示:

linux在hadoop102执行 ping hadoop103 ping不同_hadoop_04

点击Map/Reduce Location选项卡,点击右边小象图标,打开Hadoop Location配置窗口:

输入Location Name,任意名称即可.配置Map/Reduce Master和DFS Mastrer,Host和Port配置成与core-site.xml的设置一致即可。

去找core-site.xml配置:

fs.default.name                                                                      hdfs://name01:9000

在界面配置如下:

linux在hadoop102执行 ping hadoop103 ping不同_xml_05

点击"Finish"按钮,关闭窗口。点击左侧的DFSLocations—>myhadoop(上一步配置的location name),如能看到user,表示安装成功,但是进去看到报错信息:Error: Permission denied: user=root,access=READ_EXECUTE,inode="/tmp";hadoop:supergroup:drwx---------,如下图所示:

linux在hadoop102执行 ping hadoop103 ping不同_hadoop_06

应该是权限问题:把/tmp/目录下面所有的关于hadoop的文件夹设置成hadoop用户所有然后分配授予777权限。

cd /tmp/

chmod 777 /tmp/

chown -R hadoop.hadoop /tmp/hsperfdata_root

之后重新连接打开DFS Locations就显示正常了。

Map/Reduce Master (此处为Hadoop集群的Map/Reduce地址,应该和mapred-site.xml中的mapred.job.tracker设置相同)

(1):点击报错:

An internal error occurred during: "Connecting to DFS hadoopname01".

java.net.UnknownHostException: name01

直接在hostname那一栏里面设置ip地址为:192.168.52.128,即可,这样就正常打开了,如下图所示:

linux在hadoop102执行 ping hadoop103 ping不同_hadoop_07

5、新建WordCount项目

File—>Project,选择Map/Reduce Project,输入项目名称WordCount等。

在WordCount项目里新建class,名称为WordCount,报错代码如下:Invalid Hadoop Runtime specified; please click 'Configure Hadoop install directory' or fill in library location input field,报错原因是目录选择不对,不能选择在跟目录E:\hadoop下,换成E:\u\hadoop\就可以了,如下所示:

linux在hadoop102执行 ping hadoop103 ping不同_hadoop_08

一路下一步过去,点击Finished按钮,完成工程创建,Eclipse控制台下面出现如下信息:

14-12-9 下午04时03分10秒: Eclipse is running in a JRE, but a JDK is required

Some Maven plugins may not work when importing projects or updating source folders.

14-12-9 下午04时03分13秒: Refreshing [/WordCount/pom.xml]

14-12-9 下午04时03分14秒: Refreshing [/WordCount/pom.xml]

14-12-9 下午04时03分14秒: Refreshing [/WordCount/pom.xml]

14-12-9 下午04时03分14秒: Updating index central|http://repo1.maven.org/maven2

14-12-9 下午04时04分10秒: Updated index for central|http://repo1.maven.org/maven2

linux在hadoop102执行 ping hadoop103 ping不同_hadoop_09