分享一个用虚拟机完成简单的mapreduce方法实例 |
您所在的位置:网站首页 › 虚拟机中怎么运行程序的 › 分享一个用虚拟机完成简单的mapreduce方法实例 |
我也是刚入行大数据不久的萌新,我分享的陋闻可能只能打扰比我更年轻的新人,打扰啦。 (1)首先上一个mapreduce方法的流程图。 这是一个统计文本单词出现次数的方法,非常符合hadoop生态圈分而治之的智慧思路,上图中的 splitting和mapping阶段可以在不同的主机或者虚拟机上运行,如果是分布式的话,运行的速度会非常快。reducing阶段是将相同的单词统计成一个模块,最后合起来。稍后将介绍在虚拟机上的实现方法。 (2)在虚拟机上创建.txt文件 如果没有现成的数据集的话,就用我上图中写的,我们把文本写到一个.txt文件中。确保虚拟机中配置好了hadoop环境变量,hdfs和yarn各种配置文件都编辑好了,到时候运行的时候才不会报错。 [root@master ~]# cd /opt/rh/hadoop-3.2.2/ [root@master hadoop-3.2.2]# ls bin etc hdfs include lib libexec LICENSE.txt logs NOTICE.txt README.txt sbin share tmp wcinput wcoutput [root@master hadoop-3.2.2]# mkdir wordcountfile [root@master hadoop-3.2.2]# ls bin etc hdfs include lib libexec LICENSE.txt logs NOTICE.txt README.txt sbin share tmp wcinput wcoutput wordcountfile [root@master hadoop-3.2.2]# cd wordcountfile [root@master wordcountfile]# vi wordfile.txt [root@master wordcountfile]# cat wordfile.txt i like python python like spark Spark link hadoop [root@master wordcountfile]#这样我们就在hadoop主文件目录下创建好了,wordfile.txt文件。接下来我们敲入命令,运行mapreduce方法。 (3)打开虚拟机集群,start-all.sh,调用hadoop下的mapreduce方法中的wordcount jar包,指定结果文件保存路径,统计每个单词出现的次数。 [root@master hadoop-3.2.2]# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar wordcount file:///opt/rh/hadoop-3.2.2/wordcountfile/wordfile.txt file:///opt/rh/hadoop-3.2.2/wordoutputfile需要关闭虚拟机防火墙,systemctl stop firewalld.service,防火墙的存在会影响集群内部主机的通信。如果没有指定输出输入文件完整的路径,到时候就会报没有将文件上传到hdfs的错误。点击运行。 2021-04-03 21:54:23,391 INFO mapreduce.Job: map 0% reduce 0% 2021-04-03 21:54:29,850 INFO mapreduce.Job: map 100% reduce 0% 2021-04-03 21:54:38,973 INFO mapreduce.Job: map 100% reduce 100% 2021-04-03 21:54:40,002 INFO mapreduce.Job: Job job_1617457620069_0002 completed successfully 2021-04-03 21:54:40,169 INFO mapreduce.Job: Counters: 54看到这个说明wordcount程序运行成功。我们看看结果文件。 drwxr-xr-x. 2 root root 26 Apr 3 21:33 wordcountfile drwxr-xr-x. 2 root root 88 Apr 3 21:58 wordoutputfile [root@master hadoop-3.2.2]# cd wordoutputfile/ [root@master wordoutputfile]# ls part-r-00000 _SUCCESS我们打开part-r-00000文件,查看我们的结果。 [root@master wordoutputfile]# cat part-r-00000 Spark 1 hadoop 1 i 1 like 2 link 1 python 2 spark 1 [root@master wordoutputfile]#和上图的运行结果是一样的。执行的时候可能会报错。 但是不要放弃,遇到什么问题就上网去搜,也可以问我嘛。虽然我也不咋会。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |