考虑到Windows平台尽管界面友好,但Hadoop环境配置较"怪异",需借助cygwin,这个过程并不优雅。正好我手上另有一套ubuntu环境,用着也很顺手,就在ubuntu中安装了Eclipse IDE,在这套环境中配置安装Hadoop开发环境。

在本地搭建HADOOP开发环境时,三思也在网上参考了很多文章,还是很有感触,一个是果然天下文章一大抄(好吧我也没少抄,先抄官方文档,抄完改名叫笔记,本该汗颜的事儿被俺说的这么义正严词,是否当场就震断了你们坚强无比的氪合金神经,没错我最近在看厚黑学来着,可惜Eclipse配置HADOOP开发环境没有官方文档描述,否则我应该能(抄)写的更严谨一些),很多文章的内容看起来都显得近似,近似也就罢了,只要能有帮助就好,但遗憾不少文章过程描述的并不清晰,抄来抄去更显得糊里糊涂,咱不能说这些文章完全没有帮助,不过确实读的出来,很多人都是一知半解的写(或抄),我当然也好不到哪去,不过我比较耿直,我直接将这点明说了出来,省得大家瞎惦记,尽管水平很有限,不过我保证将尽最大努力,将整个配置过程清晰地展现出来。做为参考文档,不管操作者处在什么水平,按照我这个步骤都能将环境配置起来。

另一个是目前我在网上找到的文章,多都是在本地安装一套Local模式或Pseudo-distributed 模式的 HADOOP环境,并在此基础上配置Eclipse进行开发。我这里因为是先配置好一套HADOOP测试环境(配置过程参考:[三思笔记]Hadoop安装手册),不想重复性地在Eclipse本地再安装一套HADOOP,因此我希望我的Eclipse能够直接连接远程的HADOOP,并基于该套环境进行调试。

1、初始化环境

设定环境如下:

  • HADOOP:0.20.2
  • Namenode:hdnode1 - 192.168.30.203
  • Datanode:hdnode{2-5} - 192.168.30.204-207
  • Developer:ubuntu - 192.168.10.200 + eclipse 4.2 juno

从namenode或datanode节点中,复制HADOOP软件包到Developer环境,因为在代码开发过程中,需要HADOOP软件包的支持。

    提示:

    1、Eclipse可以直接到官网免费下载:www.eclipse.org/downloads

    2、建议ubuntu下创建grid用户,并在grid用户中配置Eclipse开发环境,可以避免(或者说减少)连接HADOOP时用户权限等导致的异常。

    3、Developer环境的HADOOP并不需额外进行配置,更完全没有必要将其加入到现有HADOOP环境中;

下载好Eclipse压缩包,我们要下载的是Eclipse IDE for Java EE Developers工具包,下载页面能够自动识别操作系统并给出建议的下载地址(Windows平台会给出windows版本的下载地址,linux平台则提供linux版本下载),一般用户只需要选择32位还是64位即可。

我这里下载的64位linux版本,以grid用户登录,将文件解压缩到适当目录下:

    # su - grid 

    $ tar xvfc eclipse-jee-juno-SR1-linux-gtk-x86_64.tar.gz -C /data/developer/

在当前HADOOP环境中的任意一个节点上,打开hadoop主目录,找到contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar文件,将该文件复制至Eclipse程序目录的plugins目录内。

返回到Ubuntu视窗界面,双击eclipse程序主目录下的eclipse,进入Eclipse界面: