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時間上。在過去幾十年,硬碟的讀取速度並未明顯增長,而網路傳輸速度此飛...