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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在Apache Hadoop(多节点群集)中运行Map-Reduce作业

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Apache Hadoop(多节点群集)中运行Map-Reduce作业 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們將在這里描述在多節點集群中的Apache Hadoop中運行MapReduce Job的過程。 要在多節點群集中設置Apache Hadoop ,可以閱讀設置Apache Hadoop多節點群集

為了進行設置,我們必須在每臺計算機上使用以下配置Hadoop:

  • 在所有節點的conf / mapred-site.xml中添加以下屬性


<property> <name>mapred.job.tracker</name> <value>master:54311</value><description>The host and port that the MapReduce job tracker runs at. If “local”, then jobs are run in-process as a single map and reduce task. </description> </property><property> <name>mapred.local.dir</name> <value>${hadoop.tmp.dir}/mapred/local</value> </property><property> <name>mapred.map.tasks</name> <value>20</value> </property><property> <name>mapred.reduce.tasks</name> <value>2</value> </property>

注意:最后三個是附加設置,因此我們可以忽略它們。

  • 古騰堡項目

為了演示MapReduce,我們將使用WordCount示例作業,該作業讀取文本文件并計算單詞出現的頻率。 輸入是文本文件,輸出是文本文件,其每一行包含一個單詞和出現頻率的計數,以制表符分隔。

從以下站點下載示例輸入,所有電子文本均應采用純文本us-ascii編碼。

  • 科學概要,卷。 1(共4個),作者:J。Arthur Thomson
  • 達芬奇的筆記本
  • 尤利西斯(James Joyce)
  • 《孫子兵法》提高了6美分。 卑詩省孫子
  • 亞瑟·柯南·道爾爵士的《福爾摩斯歷險記》
  • 魔鬼字典,安布羅斯·比爾斯(Ambrose Bierce)
  • 大英百科全書,第11版,第4卷,第3部分

請谷歌搜索這些文本。 將每個電子書下載為純文本UTF-8編碼的文本文件,并將文件存儲在所選的本地臨時目錄中,例如/ tmp / gutenberg。 使用以下命令檢查文件:

$ ls -l /tmp/gutenberg/
  • 接下來,我們在集群中啟動dfs和mapred層
$ start-dfs.sh$ start-mapred.sh

通過發出以下命令jps進行檢查,以檢查數據節點,名稱節點和任務跟蹤器,作業跟蹤器在所有節點中均正常運行。

  • 接下來,我們將本地文件(這里是文本文件)復制到Hadoop HDFS
$ hadoop dfs -copyFromLocal /tmp/gutenberg /Users/hduser/gutenberg$ hadoop dfs -ls /Users/hduser

如果文件被成功復制,我們將看到類似以下內容–找到2個項目

drwxr-xr-x – hduser supergroup 0 2013-05-21 14:48 /Users/hduser/gutenberg

此外,我們檢查文件系統在/ Users / hduser / gutenberg中的內容:

$ hadoop dfs -ls /Users/hduser/gutenbergFound 7 items-rw-r--r-- 2 hduser supergroup 336705 2013-05-21 14:48 /Users/hduser/gutenberg/pg132.txt -rw-r--r-- 2 hduser supergroup 581877 2013-05-21 14:48 /Users/hduser/gutenberg/pg1661.txt -rw-r--r-- 2 hduser supergroup 1916261 2013-05-21 14:48 /Users/hduser/gutenberg/pg19699.txt -rw-r--r-- 2 hduser supergroup 674570 2013-05-21 14:48 /Users/hduser/gutenberg/pg20417.txt -rw-r--r-- 2 hduser supergroup 1540091 2013-05-21 14:48 /Users/hduser/gutenberg/pg4300.txt -rw-r--r-- 2 hduser supergroup 447582 2013-05-21 14:48 /Users/hduser/gutenberg/pg5000.txt -rw-r--r-- 2 hduser supergroup 384408 2013-05-21 14:48 /Users/hduser/gutenberg/pg972.txt
  • 我們開始我們的MapReduce工作

讓我們運行MapReduce WordCount示例:

$ hadoop jar hadoop-examples-1.0.4.jar wordcount /Users/hduser/gutenberg /Users/hduser/gutenberg-output

注意:假設您已經在HADOOP_HOME目錄中。 如果沒有,

$ hadoop jar ABSOLUTE/PATH/TO/HADOOP/DIR/hadoop-examples-1.0.4.jar wordcount /Users/hduser/gutenberg /Users/hduser/gutenberg-output

或者,如果您已經在/ usr / local / hadoop中安裝了Hadoop,

hadoop jar /usr/local/hadoop/hadoop-examples-1.0.4.jar wordcount /Users/hduser/gutenberg /Users/hduser/gutenberg-output

輸出如下:

13/05/22 13:12:13 INFO mapred.JobClient: map 0% reduce 0% 13/05/22 13:12:59 INFO mapred.JobClient: map 28% reduce 0% 13/05/22 13:13:05 INFO mapred.JobClient: map 57% reduce 0% 13/05/22 13:13:11 INFO mapred.JobClient: map 71% reduce 0% 13/05/22 13:13:20 INFO mapred.JobClient: map 85% reduce 0% 13/05/22 13:13:26 INFO mapred.JobClient: map 100% reduce 0% 13/05/22 13:13:43 INFO mapred.JobClient: map 100% reduce 50% 13/05/22 13:13:55 INFO mapred.JobClient: map 100% reduce 100% 13/05/22 13:13:59 INFO mapred.JobClient: map 85% reduce 100% 13/05/22 13:14:02 INFO mapred.JobClient: map 100% reduce 100% 13/05/22 13:14:07 INFO mapred.JobClient: Job complete: job_201305211616_0011 13/05/22 13:14:07 INFO mapred.JobClient: Counters: 26 13/05/22 13:14:07 INFO mapred.JobClient: Job Counters 13/05/22 13:14:07 INFO mapred.JobClient: Launched reduce tasks=3 13/05/22 13:14:07 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=118920 13/05/22 13:14:07 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0 13/05/22 13:14:07 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0 13/05/22 13:14:07 INFO mapred.JobClient: Launched map tasks=10 13/05/22 13:14:07 INFO mapred.JobClient: Data-local map tasks=10 13/05/22 13:14:07 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=54620 13/05/22 13:14:07 INFO mapred.JobClient: File Output Format Counters 13/05/22 13:14:07 INFO mapred.JobClient: Bytes Written=1267287 13/05/22 13:14:07 INFO mapred.JobClient: FileSystemCounters 13/05/22 13:14:07 INFO mapred.JobClient: FILE_BYTES_READ=4151123 13/05/22 13:14:07 INFO mapred.JobClient: HDFS_BYTES_READ=5882320 13/05/22 13:14:07 INFO mapred.JobClient: FILE_BYTES_WRITTEN=6937084 13/05/22 13:14:07 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=1267287 13/05/22 13:14:07 INFO mapred.JobClient: File Input Format Counters 13/05/22 13:14:07 INFO mapred.JobClient: Bytes Read=5881494 13/05/22 13:14:07 INFO mapred.JobClient: Map-Reduce Framework 13/05/22 13:14:07 INFO mapred.JobClient: Reduce input groups=114901 13/05/22 13:14:07 INFO mapred.JobClient: Map output materialized bytes=2597630 13/05/22 13:14:07 INFO mapred.JobClient: Combine output records=178795 13/05/22 13:14:07 INFO mapred.JobClient: Map input records=115251 13/05/22 13:14:07 INFO mapred.JobClient: Reduce shuffle bytes=1857123 13/05/22 13:14:07 INFO mapred.JobClient: Reduce output records=114901 13/05/22 13:14:07 INFO mapred.JobClient: Spilled Records=463427 13/05/22 13:14:07 INFO mapred.JobClient: Map output bytes=9821180 13/05/22 13:14:07 INFO mapred.JobClient: Total committed heap usage (bytes)=1567514624 13/05/22 13:14:07 INFO mapred.JobClient: Combine input records=1005554 13/05/22 13:14:07 INFO mapred.JobClient: Map output records=1005554 13/05/22 13:14:07 INFO mapred.JobClient: SPLIT_RAW_BYTES=826 13/05/22 13:14:07 INFO mapred.JobClient: Reduce input records=178795
  • 檢索作業結果

要直接從hadoop讀取而不復制到本地文件系統,請執行以下操作:

$ hadoop dfs -cat /Users/hduser/gutenberg-output/part-r-00000

讓我們將結果復制到本地文件系統中。

$ mkdir /tmp/gutenberg-output$ bin/hadoop dfs -getmerge /Users/hduser/gutenberg-output /tmp/gutenberg-output$ head /tmp/gutenberg-output/gutenberg-output

我們將得到如下輸出:

"'Ample.' 1 "'Arthur!' 1 "'As 1 "'Because 1 "'But,' 1 "'Certainly,' 1 "'Come, 1 "'DEAR 1 "'Dear 2 "'Dearest 1 "'Don't 1 "'Fritz! 1 "'From 1 "'Have 1 "'Here 1 "'How 2

命令fs -getmerge將簡單地串聯在指定目錄中找到的所有文件。 這意味著合并的文件可能(并且很可能不會)被排序。

資源:

  • http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/
  • http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
  • http://hadoop.apache.org/docs/current/

參考: Phlox Blog博客上的JCG合作伙伴 Piyas De 在Apache Hadoop(多節點群集)中運行Map-Reduce作業 。

翻譯自: https://www.javacodegeeks.com/2013/06/running-map-reduce-job-in-apache-hadoop-multinode-cluster.html

總結

以上是生活随笔為你收集整理的在Apache Hadoop(多节点群集)中运行Map-Reduce作业的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。