Ubantu下hadoop运行第一个例子wordcount过程

Ubantu12.04下hadoop-1.2.1运行第一个例子wordcount过程,分享一下

将WordCount.java文件放在Hadoop安装目录下,并在安装目录下创建输入目录input,目录下有输入文件file1,file2,其中:

  file1内容:hello world

  file2内容:hello hadoop

          hello mapreduce

准备好之后在命令行输入运行,下面对执行的命令进行介绍:

注:在此之前必须启动hadoop的所有服务。

  在启动之前,需要格式化Hadoop的文件系统HDFS ,进入Hadoop文件夹。输入命令:bin/hadoop namenode -format

  格式化文件系统,接下来启动Hadoop所有进程,输入命令:bin/start-all.sh(中间无空格)

  然后查看是否启动成功,输入命令:jps  

  如下所示即可:

    wangnan@slave1:~/hadoop-1.2.1$ jps
    3866 DataNode
    4102 SecondaryNameNode
    4192 JobTracker
    4430 TaskTracker
    8576 Jps
    4700 NameNode

(1)在集群上创建输入文件夹

  bin/hadoop fs -mkdir wordcount_input

(2)上传本地目录input下前四个字符的为file的文件到集群上的 input 目录下:

  bin/hadoop fs -put input/file* wordcount_input

(3)编译WordCount.java程序,将结果放入当前目录的WordCount目录下(在此之前首先在hadoop安装目录下创建一WordCount个目录,即新建文件夹):

  javac -classpath hadoop-core-1.2.1.jar:lib/commons-cli-1.2.jar -d WordCount WordCount.java

(4)将编译结果打包jar

  首先进入hadoop-1.2.1/WordCount/org/apache/hadoop/examples下,也就是进入class文件目录如图:

              

输入命令:jar cvf WordCount.jar *.class

(5)在集群上运行WordCount程序,以input目录为输入目录,output为输出目录:

bin/hadoop jar hadoop-examples-1.2.1.jar wordcount wordcount_input wordcount_output

(6)查看输出结果:

bin/hadoop fs -cat wordcount_output/part-r-00000

(7)最后运行代码如下:

  hello  3

  world 1

  hadoop 1

  mapreduce  1

 

不同机器可能遇到不同的问题,可以参考一下解决方法:

MapReduce——WordCount问题总结 http://blog.sina.com.cn/s/blog_7fcb1aef0100zpux.html

bin/hadoop jar hadoop-*-examples.jar wordcount 路径错误     http://blog.csdn.net/jkeven/article/details/7655586

 

 

posted @ 2013-11-05 10:02  wangnan45  阅读(352)  评论(0编辑  收藏  举报