Hadoop2.X—讓你的MapReduce跑起來

MapReduce Hadoop HDFS Vi 卡弗卡大數據 2017-05-04
  • 期望你的閱覽是有價值的,因為我們堅守每一篇的質量

  • 期望你的關注是持續的,因為我們堅守知識的連續與完整

Hadoop2.X—讓你的MapReduce跑起來

是時候來跑一個MapReduce程序了。但前提是你得把環境整好。基於前兩篇的文章,先把HDFS環境部署好,讓數據穩穩的存儲下來。

卡弗卡大數據告訴你如何在YARN上面並行跑我們的MapReduce程序!

第一步:配置YARN

配置/opt/modules/hadoop-2.5.0/etc/hadoop/yarn-site.xml文件,在文件中添加如下的內容:

  • 配置告訴YARN運行的是MapReduce

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

  • 配置ResourceManager的服務節點是哪個機器

<property>

<name>yarn.resourcemanager.hostname</name>

<value>bigdata-senior01.kfk.com</value>

</property>

保存文件。

第二步:啟動HDFS服務NameNode和DataNode

$ sbin/hadoop-daemon.sh

$ sbin/hadoop-daemon.sh

第三步:啟動YARN的ResourceManager

$ sbin/yarn-daemon.sh start resourcemanager

第四步:啟動YARN的NodeManager

$ sbin/yarn-daemon.sh start nodemanager

第五步:Web頁面訪問YARN

通過頁面訪問yarn WEB服務,默認端口號是8088

  • http://bigdata-senior01.kfk.com:8088

Hadoop2.X—讓你的MapReduce跑起來

第六步:配置MapReduce程序

MapReduce程序的運行模式有兩種:一種是運行在本地,一種是運行在YARN上面。

我們首先配置一下MapReduce運行在YARN上面的配置文件mapred-site.xml文件。

具體配置內容如下:在mapred-site.xml文件加入如下的內容:

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

保存文件。

其中mapreduce.framework.name默認的屬性值為local。我們現在把它配置在YARN上面運行,所有屬性值為yarn。

第七步:創建數據文件

$ touch wc.input

$ vi wc.input

編輯如下的內容,我們來對一下內容做一個詞頻統計:

kfk kafuka

kafuka henry

henry kfk

lele henry

kafka henry

kfk kafuka

保存。

第八步:在HDFS上創建目錄

$ bin/hdfs dfs -mkdir -p /user/kfk/wordcount/input

第九步:上傳數據文件

$ bin/hdfs dfs -put /opt/datas/wc.input /user/kfk/wordcount/input

Hadoop2.X—讓你的MapReduce跑起來

第十步:運行mapreduce程序

$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/kfk/wordcount/input/wc.input /user/kfk/wordcount/output/

我們運行的是hadoop自帶的MapReduce程序。

注意:mapreduce的輸出目錄是不能被指定,也不能是重複的。

數據源: /user/kfk/wordcount/input/wc.input

輸出源:/user/kfk/wordcount/output/

第十一步:查看結果

運行完成之後,我們去/user/caojinbo/wordcount/output/這個目錄查看wordcount的運行結果。

$ bin/hdfs dfs -cat /user/kfk/wordcount/output/part-*

文件的結果如下:

kfk 3

henry 4

kafka 1

kafuka 3

lele 1

從結果中我們可以看出MapReduce不僅做了單詞的統計,而且還做了排序。

  • 通過text讀取HDFS文件。text的優點是將所有的文件轉換成text文本文件。而cat只能讀取文本文件。

至此基於YARN的MapReduce是如何運行的,我們就講完了!

相關推薦

推薦中...