Hadoop之Mapreduce3種執行模式

2022-03-23 00:18:27 字數 1344 閱讀 9296

hadoop之mapreduce)3種執行模式:一 、本地模式執行

1/在windows的idea裡面直接執行main方法,就會將job提交給本地執行器localjobrunner執行

----輸入輸出資料可以放在本地路徑下(c:/wc/srcdata/)

----輸入輸出資料也可以放在hdfs中(hdfs://hadoop03:9000/wc/srcdata)

(注意:如果提示許可權錯誤:附給許可權即可 例如:hadoop fs -chmod 777 /wordcount)

2/在linux的idea裡面直接執行main方法,但是不要新增yarn相關的配置,也會提交給localjobrunner執行

----輸入輸出資料可以放在本地路徑下(/home/hadoop/wc/srcdata/)

----輸入輸出資料也可以放在hdfs中(hdfs://hadoop03:9000/wc/srcdata)

二 、集群模式執行

1/將工程打成jar包,上傳到伺服器,然後用hadoop命令提交

file------>project structure------>+ ------>jar ------>empty------>name

------>module output

------>將打好的jar包放到linux中,輸入命令

hadoop jar 路徑 執行的主類名 (包名.類名) 要計算的檔案路徑(hdfs) 結果輸出路徑(hdfs)

例如:hadoop jar /home/storm/hadoop_test/telnocount/datacount.jar cn.hclt.hadoop.mr.dc.datacount /telnocount/data.doc /telnocount/dataout

2.直接執行main方法,也可以提交到集群中去執行

在linux的idea中直接執行main方法,也可以提交到集群中去執行,但是,必須採取以下措施:

----在工程src目錄下加入 mapred-site.xml 和 yarn-site.xml

----將工程打成jar包(wc.jar),同時在main方法中新增乙個conf的配置引數 

conf.set("mapreduce.job.jar","wc.jar");

在windows的idea中直接執行main方法,也可以提交給集群中執行,但是因為平台不相容,需要做很多的設定修改(不建議使用)

----要在windows中存放乙份hadoop的安裝包(解壓好的)

----要將其中的lib和bin目錄替換成根據你的windows版本重新編譯出的檔案

----再要配置系統環境變數 hadoop_home 和 path

----修改yarnrunner這個類的原始碼

hadoop批量計算框架 MapReduce

結合自身的經驗記錄,mapreduce中的一些知識點以及乙個wordcount小實踐 核心思想 分而治之 map程式 需要根據自己的需求開發 shuffle 緩衝區大小設定 core site.xml設定為100m io.file.buffer.size 100000000 以位元組為單位 hdfs...

Hadoop的分布式計算 MapReduce

什麼是mapreduce?你想數出一摞牌中有多少張黑桃。直觀方式是一張一張檢查並且數出有多少張是黑桃。mapreduce方法則是 1.給在座的所有玩家中分配這摞牌 2.讓每個玩家數自己手中的牌有幾張是黑桃,然後把這個數目匯報給你 3.你把所有玩家告訴你的數字加起來,得到最後的結論 1 mapredu...

Hadoop基本原理之一 MapReduce

1 為什麼需要hadoop 目前,一塊硬碟容量約為1tb,讀取速度約為100m s,因此完成一塊硬碟的讀取需時約2.5小時 寫入時間更長 若把資料放在同一硬碟上,且全部資料均需要同乙個程式進行處理,此程式的處理時間將主要浪費在i o時間上。在過去幾十年,硬碟的讀取速度並未明顯增長,而網路傳輸速度此飛...