查看并使用hadoop自带的示例程序(以wordcount为例)

查看并使用hadoop自带的示例程序(以wordcount为例)

1. 查看hadoop自带的示例程序

hadoop jar hadoop安装路径+/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar,如:

hadoop jar /home/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar

结果

查看并使用hadoop自带的示例程序(以wordcount为例)_第1张图片

2. 使用hadoop自带的示例程序(以wordCount为例)

①准备文件1.txt,在里面输入几行英文字符或者数字。

我自己准备的文件内容如下:

在这里插入图片描述

②开启集群的其他节点主机,否则会出现如下图所示的报错:

RemoteException:......Name node is in safe mode

查看并使用hadoop自带的示例程序(以wordcount为例)_第2张图片

③开启进程ResourceManager,也就是输入命令start-dfs.sh和start-yarn.sh。否则会报错如下:

查看并使用hadoop自带的示例程序(以wordcount为例)_第3张图片

不要忘记开启yarn,否则会出现报错(也不算报错,就是反复请求)如下图所示:

查看并使用hadoop自带的示例程序(以wordcount为例)_第4张图片

④将1.txt文件上传至分布式文件系统的/user/root路径下,否则会提示文件不存在。

InvalidInputException: Input path does not exist: ....

查看并使用hadoop自带的示例程序(以wordcount为例)_第5张图片

如下图所示,已经将1.txt上传至分布式文件系统的/user/root路径下。

在这里插入图片描述

⑤确保结果的输出文件夹是之前不存在的,否则会有如下图所示的提示:原来的输出文件夹已存在(这里我是之前做过一次实验,所以有这个提示,可以选择换一个新的输出文件夹,也可以选择将原有的输出文件夹删掉。这里我换一个新的输出文件夹)。

FileAlreadyExistsException: Output directory ..... already exists

查看并使用hadoop自带的示例程序(以wordcount为例)_第6张图片

⑥输入如下命令,使用wordCount程序。

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount 1.txt output2

查看并使用hadoop自带的示例程序(以wordcount为例)_第7张图片

一般看到map 0% reduce 0%就表示任务进行中了。

如下图所示,任务完成。

查看并使用hadoop自带的示例程序(以wordcount为例)_第8张图片

⑦输入如下命令,查看输出文件output2中显示的统计结果。

hadoop fs -cat /user/root/output2/*

output2中显示的统计结果。意思是内容同为“123”的有2行、内容同为“abc”的有2行。

hadoop fs -cat /user/root/output2/*

在这里插入图片描述

你可能感兴趣的:(hadoop,hdfs,mapreduce)