Hadoop企業(yè)優(yōu)化

1 MapReduce 跑的慢的原因

Hadoop 企業(yè)優(yōu)化

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都做網(wǎng)站、彌勒網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、彌勒網(wǎng)絡(luò)營銷、彌勒企業(yè)策劃、彌勒品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供彌勒建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

2 MapReduce 優(yōu)化方法

MapReduce優(yōu)化方法主要從六個(gè)方面考慮:數(shù)據(jù)輸入、Map階段、Reduce階段、IO傳輸、數(shù)據(jù)傾斜問題和常用的調(diào)優(yōu)參數(shù)。

2.1 數(shù)據(jù)輸入

Hadoop 企業(yè)優(yōu)化

2.2 Map 階段

Hadoop 企業(yè)優(yōu)化

2.3 Reduce 階段

Hadoop 企業(yè)優(yōu)化

2.4 IO 傳輸

Hadoop 企業(yè)優(yōu)化

2.5 數(shù)據(jù)傾斜問題

Hadoop 企業(yè)優(yōu)化

2.6 常用的調(diào)優(yōu)參數(shù)

2.6.1 資源相關(guān)參數(shù)

以下參數(shù)是在用戶自己的MR應(yīng)用程序中配置就可以生效[mapred-default.xml]

配置參數(shù)參數(shù)說明
mapreduce.map.memory.mb 一個(gè)MapTask可使用的資源上限(單位:MB),默認(rèn)為1024。如果MapTask實(shí)際使用的資源量超過該值,則會(huì)被強(qiáng)制殺死
mapreduce.reduce.memory.mb 一個(gè)ReduceTask可使用的資源上限(單位:MB),默認(rèn)為1024。如果ReduceTask實(shí)際使用的資源量超過該值,則會(huì)被強(qiáng)制殺死
mapreduce.map.cpu.vcores 每個(gè)MapTask可使用的最多cpu core數(shù)目,默認(rèn)值: 1
mapreduce.reduce.cpu.vcores 每個(gè)ReduceTask可使用的最多cpu core數(shù)目,默認(rèn)值: 1
mapreduce.reduce.shuffle.parallelcopies 每個(gè)Reduce去Map中取數(shù)據(jù)的并行數(shù)。默認(rèn)值是5
mapreduce.reduce.shuffle.merge.percent Buffer中的數(shù)據(jù)達(dá)到多少比例開始寫入磁盤。默認(rèn)值0.66
mapreduce.reduce.shuffle.input.buffer.percent Buffer大小占Reduce可用內(nèi)存的比例。默認(rèn)值0.7
mapreduce.reduce.input.buffer.percent 指定多少比例的內(nèi)存用來存放Buffer中的數(shù)據(jù),默認(rèn)值是0.0

應(yīng)該在YARN啟動(dòng)之前就配置在服務(wù)器的配置文件中才能生效[yarn-default.xml]

配置參數(shù)參數(shù)說明
yarn.scheduler.minimum-allocation-mb 給應(yīng)用程序Container分配的最小內(nèi)存,默認(rèn)值:1024
yarn.scheduler.maximum-allocation-mb 給應(yīng)用程序Container分配的最大內(nèi)存,默認(rèn)值:8192
yarn.scheduler.minimum-allocation-vcores 每個(gè)Container申請(qǐng)的最小CPU核數(shù),默認(rèn)值:1
yarn.scheduler.maximum-allocation-vcores 每個(gè)Container申請(qǐng)的最大CPU核數(shù),默認(rèn)值:32
yarn.nodemanager.resource.memory-mb 給Containers分配的最大物理內(nèi)存,默認(rèn)值:8192

Shuffle性能優(yōu)化的關(guān)鍵參數(shù),應(yīng)在YARN啟動(dòng)之前就配置好[mapred-default.xml]

配置參數(shù)參數(shù)說明
mapreduce.task.io.sort.mb Shuffle的環(huán)形緩沖區(qū)大小,默認(rèn)100m
mapreduce.map.sort.spill.percent 環(huán)形緩沖區(qū)溢出的閾值,默認(rèn)80%
2.6.2 容錯(cuò)相關(guān)參數(shù)(MapReduce性能優(yōu)化)
配置參數(shù)參數(shù)說明
mapreduce.map.maxattempts 每個(gè)Map Task最大重試次數(shù),一旦重試參數(shù)超過該值,則認(rèn)為Map Task運(yùn)行失敗,默認(rèn)值:4
mapreduce.reduce.maxattempts 每個(gè)Reduce Task最大重試次數(shù),一旦重試參數(shù)超過該值,則認(rèn)為Map Task運(yùn)行失敗,默認(rèn)值:4
mapreduce.task.timeout Task超時(shí)時(shí)間,經(jīng)常需要設(shè)置的一個(gè)參數(shù),該參數(shù)表達(dá)的意思為:如果一個(gè)Task在一定時(shí)間內(nèi)沒有任何進(jìn)入,即不會(huì)讀取新的數(shù)據(jù),也沒有輸出數(shù)據(jù),則認(rèn)為該Task處于Block狀態(tài),可能是卡住了,也許永遠(yuǎn)會(huì)卡住,為了防止因?yàn)橛脩舫绦蛴肋h(yuǎn)Block住不退出,則強(qiáng)制設(shè)置了一個(gè)該超時(shí)時(shí)間(單位毫秒),默認(rèn)是600000。如果你的程序?qū)γ織l輸入數(shù)據(jù)的處理時(shí)間過長(比如會(huì)訪問數(shù)據(jù)庫,通過網(wǎng)絡(luò)拉取數(shù)據(jù)等),建議將該參數(shù)調(diào)大,該參數(shù)過小常出現(xiàn)的錯(cuò)誤提示是“AttemptID:attempt_14267829456721_123456_m_000224_0 Timed out after 300 secsContainer killed by the ApplicationMaster.”

3 HDFS 小文件優(yōu)化方法

3.1 HDFS 小文件弊端

HDFS 上每個(gè)文件都要在 NameNode 上建立一個(gè)索引,這個(gè)索引的大小約為 150byte,這樣當(dāng)小文件比較多的時(shí)候,就會(huì)產(chǎn)生很多的索引文件,一方面會(huì)大量占用 NameNode 的內(nèi)存空間,另一方面就是索引文件過大使得索引速度變慢。

3.2 HDFS小文件解決方案

小文件的優(yōu)化無非以下幾種方式:

  • 在數(shù)據(jù)采集的時(shí)候,就將小文件或小批數(shù)據(jù)合成大文件再上傳 HDFS。
  • 在業(yè)務(wù)處理之前,在 HDFS 上使用MapReduce程序?qū)π∥募M(jìn)行合并。
  • 在 MapReduce 處理時(shí),可采用 CombineTextInputFormat 提高效率。
    Hadoop 企業(yè)優(yōu)化

當(dāng)前題目:Hadoop企業(yè)優(yōu)化
瀏覽地址:http://muchs.cn/article30/isghpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、建站公司、網(wǎng)站內(nèi)鏈、商城網(wǎng)站、網(wǎng)站維護(hù)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)