日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

hadoop学习笔记:运行wordcount对文件字符串进行统计案例

發(fā)布時(shí)間:2025/1/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop学习笔记:运行wordcount对文件字符串进行统计案例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我最近使用四臺(tái)Centos虛擬機(jī)搭建了一套分布式hadoop環(huán)境,簡(jiǎn)單模擬了線上上的hadoop真實(shí)分布式集群,主要用于業(yè)余學(xué)習(xí)大數(shù)據(jù)相關(guān)體系。

其中,一臺(tái)服務(wù)器作為NameNode,一臺(tái)作為Secondary NameNode,剩下兩臺(tái)當(dāng)做DataNodes節(jié)點(diǎn)服務(wù)器,類似下面這樣一個(gè)架構(gòu)——

NameNodeSecondary NameNodeDataNodes
master1(192.168.200.111)
master2(192.168.200.112)
slave1(192.168.200.117)
slave2(192.168.200.115)

接下來(lái),就是開(kāi)始通過(guò)hadoop自帶的wordcount來(lái)統(tǒng)計(jì)一下文件當(dāng)中的字符數(shù)量。

啟動(dòng)hadoop集群后,在集群可用情況下,按照以下步驟:
一、進(jìn)入到hadoop安裝目錄,創(chuàng)建一個(gè)測(cè)試文件example.txt

我的安裝目錄是:/opt/hadoop/app/hadoop/hadoop-2.7.5

[root@192 hadoop-2.7.5]# pwd /opt/hadoop/app/hadoop/hadoop-2.7.5

新建一個(gè)example.txt,并隨機(jī)寫入一些字符:

aaa bbb cccc dedef dedf dedf ytrytrgtrcdscdscdsc dedaxa cdsvfbgf uyiuyi ss xaxaxaxa

接著,在hdfs文件系統(tǒng)上新建一個(gè)input文件夾,用來(lái)存放example.txt文件——

[root@192 hadoop-2.7.5]# hdfs dfs -mkdir /input

然后,將example.txt復(fù)制到hdfs系統(tǒng)上的input目錄下——

[root@192 hadoop-2.7.5]# hdfs dfs -put example.txt /input

檢查一下,可以看到,example.txt文件已經(jīng)在input目錄底下了——

[root@192 hadoop-2.7.5]# hdfs dfs -ls /input Found 1 items -rw-r--r-- 3 root supergroup 84 2021-10-20 12:43 /input/example.txt

這些準(zhǔn)備工作做好后,就可以開(kāi)始使用hadoop自帶的jar包來(lái)統(tǒng)計(jì)文件example.txt當(dāng)中各字符的數(shù)量了。

二、運(yùn)行wordcount對(duì)文件字符進(jìn)行統(tǒng)計(jì)

直接在NameNode節(jié)點(diǎn)對(duì)應(yīng)的服務(wù)器上執(zhí)行——

[root@192 hadoop-2.7.5]# hadoop jar /opt/hadoop/app/hadoop/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /input /output

這行指令的大概意思是,分布式計(jì)算統(tǒng)計(jì)input目錄底下的文件中的字符數(shù)量,將統(tǒng)計(jì)結(jié)果reduce到output當(dāng)中,故而,最后若執(zhí)行沒(méi)問(wèn)題,可以在output目錄下獲取到統(tǒng)計(jì)結(jié)果記錄。

我第一次執(zhí)行時(shí),發(fā)生了一個(gè)異常,即執(zhí)行完后,日志運(yùn)行到INFO mapreduce.Job: Running job: job_1631618032849_0002這一行時(shí),就直接卡在了這里,沒(méi)有任何動(dòng)靜了——

[hadoop@192 bin]$ hadoop jar /opt/hadoop/app/hadoop/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /input /output 21/10/20 10:43:29 INFO client.RMProxy: Connecting to ResourceManager at master1/192.168.200.111:8032 21/10/20 10:43:30 INFO input.FileInputFormat: Total input paths to process : 1 21/10/20 10:43:30 INFO mapreduce.JobSubmitter: number of splits:1 21/10/20 10:43:31 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1631618032849_0002 21/10/20 10:43:31 INFO impl.YarnClientImpl: Submitted application application_1631618032849_0002 21/10/20 10:43:31 INFO mapreduce.Job: The url to track the job: http://master1:8088/proxy/application_1631618032849_0002/ 21/10/20 10:43:31 INFO mapreduce.Job: Running job: job_1631618032849_0002

百度了一番后,根據(jù)一些思路,最后將mapred-site.xml最開(kāi)始的配置由

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property> </configuration>

改成這里——

<configuration><property><name>mapreduce.job.tracker</name><value>hdfs://master1:8001</value><final>true</final></property> </configuration>

接著,重啟了hadoop集群,就正常了,日志信息就沒(méi)有卡頓,而是一步執(zhí)行完成,打印以下的日志記錄——


過(guò)程如果沒(méi)有出現(xiàn)問(wèn)題,就可以到最后一步,查看統(tǒng)計(jì)完的結(jié)果。

三、獲取統(tǒng)計(jì)結(jié)果

以上步驟執(zhí)行完后,直接輸入指令查看output目錄下的信息,可以看到,里面生成了兩個(gè)文件——

[root@192 hadoop-2.7.5]# hdfs dfs -ls /output Found 2 items -rw-r--r-- 3 root supergroup 0 2021-10-20 12:47 /output/_SUCCESS -rw-r--r-- 3 root supergroup 101 2021-10-20 12:47 /output/part-r-00000

part-r-00000文件是存放統(tǒng)計(jì)結(jié)果的,我們查看一下——

[root@192 hadoop-2.7.5]# hdfs dfs -cat /output/part-r-00000 aaa 1 bbb 1 cccc 1 cdsvfbgf 1 dedaxa 1 dedef 1 dedf 2 ss 1 uyiuyi 1 xaxaxaxa 1 ytrytrgtrcdscdscdsc 1

對(duì)比前面的example.txt文件,可以看到,當(dāng)中dedf字符串是有兩個(gè),其他都是1個(gè),hadoop統(tǒng)計(jì)結(jié)果也確實(shí)如此。

以上,便是初步認(rèn)識(shí)hadoop的一個(gè)小案例,接下來(lái),我會(huì)在學(xué)習(xí)過(guò)程當(dāng)中把值得分享的經(jīng)驗(yàn)都總結(jié)下來(lái)。

總結(jié)

以上是生活随笔為你收集整理的hadoop学习笔记:运行wordcount对文件字符串进行统计案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。