您的位置:首页 > 运维架构 > Linux

CentOS6.8下Hadoop2.7.2怎么运行自带的wordcount程序

2016-07-05 17:44 295 查看
CentOS6.8下Hadoop2.7.2怎么运行自带的wordcount程序
1 准备工作

1.1 创建输入输出路径

首先在hdfs中创建数据目录,用来指定运行wordcount程序的输入输出路径。Hadoop命令在hadoop文件夹下的bin目录下,可通过如下命令查看:

命令:ll /usr/local/hadoop/bin

查看结果如图1所示:



图1 查找hadoop命令
(1)创建文件上传目录

1)首先进入到hadoop文件夹下(命令:cd /usr/local/hadoop);

2)创建目录“/data/wordcount”,用来存放hadoop自带的wordcount例子的数据文件。

命令:bin/hadoop fs -mkdir -p /data/wordcount (创建上传文件目录)

命令:bin/hadoop fs -ls / (查看创建的文件目录)

命令操作结果如图2所示:



图2 创建文件上传目录
(2)创建结果输出目录

1)创建目录“/output”,用来存放运行Mapreduce任务后输出的结果文件。

命令:bin/hadoop fs -mkdir -p /output/ (创建输出结果文件存放目录)

命令:bin/hadoop fs -ls / (查看创建的文件目录)

命令操作结果如图3所示:



图3 创建结果输出目录
1.2 创建本地输入文件

命令: sudo vi /usr/inputword

输入文件内容,如图4所示:



图4 创建本地输入文件
文件创建完成之后可通过命令“cat /usr/inputword”查看文件内容,如图5所示:



图5 查看本地文件内容
2 上传文件

(1)将上述创建的本地文件上传到HDFS中。

命令:bin/hadoop fs –put /usr/inputword /data/wordcount/

注意:当需要多次执行wordcount程序时,如果不需要保留前一次上传到/data/wordcount/目录下的本地文件inputword,可将其删除,然后直接修改本地文件inputword里面的内容,再重新上传到/data/wordcount/目录下。删除上传到/data/wordcount/目录下的本地文件inputword文件的命令为:

bin/hadoop fs –rm /data/wordcount/inputword

如果需要保留每次执行时上传到/data/wordcount/目录下的本地文件,可以重新创建新的本地文件,只要保证每次创建的本地文件名称不相同即可,然后将不同名的本地文件重新上传到HDFS中。

(2)完成上传后可查看文件情况

命令:bin/hadoop fs -ls /data/wordcount

(3)还可查看上传到HDFS中的文件的内容

命令:bin/hadoop fs -text /data/wordcount/inputword

执行结果如图6所示:



图6 上传文件执行结果
3 运行wordcount例子

3.1 找到examples例子

运行Hadoop自带的wordcount首先需要找到examples例子(hadoop-mapreduce-examples-2.7.2.jar),该例子位于Hadoop文件夹下的“/share/hadoop/mapreduce”目录下。可通过如下命令查看:

(1)直接在根目录下查看:

命令:ls /usr/local/hadoop/share/hadoop/mapreduce

查看结果如图7所示:



图7 在根目录下查找examples
(2)进入Hadoop文件目录下查看(我的Hadoop文件夹在“/usr/local”目录下):

命令:1)cd /usr/local/hadoop

2)ls share/hadoop/mapreduce

查询结果如图8所示:



图8 在Hadoop文件目录下查找examples
3.2 运行hadoop自带的wordcount程序

命令:

bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/

hadoop-mapreduce-examples-2.7.2.jar wordcount /data/wordcount /output/wordcount

注意:此处的输出目录output下的输出结果文件名wordcount不是固定的,在执行不同的输入文件时可相应地更改为不同的文件名称。避免因同名而发生冲突,导致最新上传的本地文件得不到执行,而只保留之前的执行结果。

程序运行信息如图9所示:



图9_1 程序运行信息



图9_2 程序运行信息



图9_3 程序运行信息



图9_4 程序运行信息
3.3 查看执行结果

命令:bin/hadoop fs -text /output/wordcount/part-r-00000

显示结果如图10所示:



图10 程序执行结果
注意:此处的wordcount是指执行wordcount程序时指定的输出目录下的输出结果文件,可通过修改此文件名来显示执行不同文件各自所得的输出结果。

补充说明:完成所有的操作后如果不想保留输入输出目录,可将其一一删除,命令如下:

删除输入文件目录:bin/hadoop fs -rmr /data

删除输出文件目录:bin/hadoop fs -rmr /output

执行上述两条命令后可通过如下命令查看到显示结果中只剩下tmp文件目录:

bin/hadoop fs -ls /
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息