查看并使用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
结果
2. 使用hadoop自带的示例程序(以wordCount为例)
①准备文件1.txt,在里面输入几行英文字符或者数字。
我自己准备的文件内容如下:
②开启集群的其他节点主机,否则会出现如下图所示的报错:
RemoteException:......Name node is in safe mode
③开启进程ResourceManager,也就是输入命令start-dfs.sh和start-yarn.sh。否则会报错如下:
不要忘记开启yarn,否则会出现报错(也不算报错,就是反复请求)如下图所示:
④将1.txt文件上传至分布式文件系统的/user/root路径下,否则会提示文件不存在。
InvalidInputException: Input path does not exist: ....
如下图所示,已经将1.txt上传至分布式文件系统的/user/root路径下。
⑤确保结果的输出文件夹是之前不存在的,否则会有如下图所示的提示:原来的输出文件夹已存在(这里我是之前做过一次实验,所以有这个提示,可以选择换一个新的输出文件夹,也可以选择将原有的输出文件夹删掉。这里我换一个新的输出文件夹)。
FileAlreadyExistsException: Output directory ..... already exists
⑥输入如下命令,使用wordCount程序。
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount 1.txt output2
一般看到map 0% reduce 0%
就表示任务进行中了。
如下图所示,任务完成。
⑦输入如下命令,查看输出文件output2中显示的统计结果。
hadoop fs -cat /user/root/output2/*
output2中显示的统计结果。意思是内容同为“123”的有2行、内容同为“abc”的有2行。
hadoop fs -cat /user/root/output2/*