通过前面将hadoop的分布是环境搭建起来后,可以直接输入:hadoop dfsadmin -report 命令可以查看到hdfs的健康情况和存储能力。但是对于mapreduce的部分必须要运行一个实例才可以验证。于是下面就测试它的源码自身携带的一个WorldCount的例子。下面详细介绍一下具体步骤:

  1、首先通过eclipse创建一个java的工程,这个工程名可自定义,在这里我就用WorldCount。并为该工程创建相应的类文件,文件名这里必须用WorldCount,因为源码中的例子的主类名就是这个,所以必须也采用这个名字。

  2、将hadoop源码自带的WorldCount的例子拷贝到对应的类文件中,并删除创建的时候自动产生的代码部分。

  3、添加hadoop的jar包,hadoop的jar包是在对应的安装文件内的share/hadoop文件夹下,该文件夹下有hadoop对应各部分的jar,都在对应的各组建文件夹下。如share/hadoop/common文件夹下有对应的hadoop-common的jar包。share/hadoop/hdfs文件夹下有对应的分布式文件操作的jar包。需要什么jar,只需要加载对应的jar即可。

但是这表明你已经编译成功。

  

hadoop 检查safemode hadoopdfsadmin-report命令用于检测_hadoop 检查safemode

 

  5、编译完之后将程序打包,在eclipse中利用export打包成jar包。具体操作如下:点击 file--->export 出现如下的界面:

  

hadoop 检查safemode hadoopdfsadmin-report命令用于检测_jar_02

  进入Next后出现:

  

hadoop 检查safemode hadoopdfsadmin-report命令用于检测_hadoop_03

    选择WorldCount后, 在JAR file 里面设置jar包输出的路径。完了之后,Finish即可。

  6、eclipse操作结束,接下来就是在hadoop上来玩玩了,当我获得了程序的jar包后,将其上传到hdfs中,并在hdfs中创建输入文件夹input,该文件夹我是在hdfs的根目录下创建的。然后在该文件夹创建两个txt文件,分别输入相应的统计内容。

  如:file1.txt:hello world

    file2.txt:hello  china   

需要注意的是这两个文件最好是在本地创建好,然后在上传到hdfs上。

  7、执行命令,运行程序测试mapreduce

  输入 hadoop  jar  WorldCount.jar   WorldCount  /input  /ouput

  在这里必须要对这个命令进行说明: hadoop  jar表示hadoop执行jar包程序的命令。

                   WorldCount.jar表示需要执行的jar,

                   WorldCount 表示的是程序中主类名

                   /input 表示的是输入数据的文件夹

                   /output 表示的输出文件夹

注意:这输出文件夹必须是没有的,必须是通过程序默认创建的,如果不是绝对路径的话,那么程序会默认在/user/grid/文件夹下创建相应的文件夹。

  执行完之后,等待结果即可。可以在屏幕上看到mapreduce处理的过程。最后可以到输出文件夹下查看输出结果。