Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5760935
  • 博文数量: 291
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7924
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 14:28
个人简介

阿里巴巴是个快乐的青年

文章分类

全部博文(291)

文章存档

2018年(21)

2017年(4)

2016年(5)

2015年(17)

2014年(68)

2013年(174)

2012年(2)

分类: HADOOP

2014-02-23 17:42:12

        这里的开发环境是指:Hadoop集群安装在Linux下,本地开发环境在Windows下用Hadoop-eclipse-plugin,远程连接Linux运行job。
一、安装
        Hadoop集群安装配置请参看这里,Java与Eclipse的安装配置请参看这里下面介绍Hadoop-eclipse-plugin的安装与配置:
        点击这里下载插件,并将插件重命名为hadoop-0.20.3-eclipse-pligin.jar,并将其放到Eclipse插件目录(xxx\plugins)即可。
        注意:不要用hadoop-0.20.2自带的插件,那个插件很悲剧,会导致run on Hadoop无反应。

二、配置
1、配置Hadoop安装目录
        因为Eclipse编写程序需要用到Hadoop的Jar包,所以需要将Linux下Hadoop的绿色安装包解压一份在Windows机器上(比如:D:\hadoop-2.2.0),然后如下来指定Hadoop Windows目录:
        选择Window->Preferences弹出对话框,选择Hadoop Map/Reduce,在Hadoop installation directory中如下来填写路径:

图1 设置Hadoop安装路径
2、配置Map/Reduce Location
        这个配置的作用是设置建立Window上Eclipse与Linux上Hadoop集群进行连接的参数,具体步骤如下:
        打开Window->Show View->Other弹出ShowView对话框,选择MapReduce Tools->Map/Reduce Locations,点击OK按钮,在Map/Reduce Locations对话框中,点击New Hadoop location按钮,在弹出对话框的General中填写如下参数:

图2 设置Hadoop Location
        Location name:任意
        Map/Reduce Master:与mapred-site.xml设置一致
        DFS Master:与core-site.xm设置一致l
        User name:服务器上运行Hadoop服务的用户名
        关于Hadoop常用端口请参见这里
3、测试配置
        选择Window->Show View->Project Explorer,点击DFS Location,逐步展开图2中设置的example,如果能看到下图,说明配置无误:

图3 HDFS目录树

三、实例
1、新建项目        
    新建测试项目WordCount,选择File->New->Other->Map/Reduce->Map/Reduce Project,点击Next按钮,在弹出的对话框中填写如下信息:

图4 创建WordCount工程
2、新建类
        选中“WordCount”工程,右击弹出菜单,选择New->Class,在弹出的对话框中填写如下信息:

图5 创建WordCount类
        由于是运行Hadoop自带的WordCount程序,所以包名和例子中的一致为org.apache.hadoop.examples,类名也必须一致为WordCount。
        打开例子源文件D:\hadoop-0.20.2\src\examples\org\apache\hadoop\examples\WordCount.java,拷贝->粘贴代码到本项目类中即可。
3、数据准备
        为了运行程序,需要一个输入文件夹和输出文件夹,前者用于存放输入数据,后者用于存放输出数据。
        (1)输出文件夹,在程序运行完成后会自动生成,我们需要做的是在某个目录下为程序新建一个输入文件夹input,并在该文件夹下新建两个文件file01和file02,用于存放测试输入数据,具体步骤如下:
        #pwd
        /root
        #mkdir input
        #vi input/file01
        Hello World Bye World
        #vi input/file02
        Hello Hadoop Goodbye Hadoop
        (2)将本地文件夹input上传到HDFS中:
        #hadoop fs -put input input01
        这样在HDFS上就多了一个input01文件夹,可以如下来查看:
        #hadoop fs -ls
        其实,你会发现只上传了一个文件file01,不过没关系,可以单独传另一个。更多Hadoop Shell命令接口可以参见。
4、编译执行
        右击WordCount.java,选择Run As->Run Configuration,在弹出的对话框中,选中Java Application,点击New,新建一个application名为WordCount,如下来配置Arguments:

图6 参数配置
        上图中,在Program arguments中输入的是“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”。
        点击Run,运行程序,过段时间后运行完成后,就可以在Linux终端下用如下命令查看结果了:
        #hadoop fs -ls
        #hadoop fs -cat output01/*
        如果能看到结果,说明你已经成功在eclipse下运行第一个MapReduce程序了。 


阅读(9529) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

scq2099yt2014-02-23 17:42:39

文明上网,理性发言...