MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序

创建本地文件
在桌面目录下创建文件wordfile.txt,其内容为"Hello World"和
“Hadoop MapReduce”(两行)

touch wordfile.txt

运行程序之前,需要启动Hadoop
切换到hadoop目录下,启动成功出现如下图所示

cd /usr/local/hadoop
./sbin/start-dfs.sh

MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第1张图片
在HDFS上创建输入文件夹

./bin/hdfs dfs -mkdir input1
./bin/hdfs dfs -mkdir input2

上传本地文件wordfile.txt到HDFS的input1目录下

./bin/hdfs dfs -put /home/hadoop/桌面/wordfile.txt input1

MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第2张图片
上传Hadoop安装目录中etc/hadoop下的所有xml文件上传至HDFS的input2文件夹中

./bin/hdfs dfs -put ./etc/hadoop/*.xml input2

MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第3张图片
运行Hadoop自带程序wordcount
首先在/usr/local/hadoop/share/hadoop/mapreduce目录下面找到自带包的版本
MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第4张图片

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-examples-3.2.1.jar wordcount input1 output1

运行结束后词频统计结果已经被写入了HDFS的output1目录下,执行以下命令查看词频统计结果

./bin/hdfs dfs -cat output1/*

MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第5张图片
运行Hadoop自带程序grep

./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input2 output2 'dfs[a-z.]+'

运行结束后匹配统计结果已经被写入了HDFS的output2目录下,执行以下命令查看匹配统计结果

./bin/hdfs dfs -cat output2/*

MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第6张图片
运行Hadoop自带程序pi
两个参数含义:第一个是运行6次map任务,第二个是每个map任务投掷次数位为5000,所以总投掷次数是6×5000=30000

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-examples-3.2.1.jar pi 6 5000

为了结果更加准确,可以把这两个数值改大点。上面命令执行后,运行过程中会出现以下信息
MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第7张图片
最后出现的就是计算出的pi值MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第8张图片
最后运行结束后,一定要记得:关闭Hadoop
MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序_第9张图片
好了,以上是本次操作的全部内容,有哪里不对的地方可以在评论区指出来哦

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