欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

hadoop性能調(diào)優(yōu)的重要參數(shù)設(shè)置技巧是怎樣的

本篇文章為大家展示了hadoop性能調(diào)優(yōu)的重要參數(shù)設(shè)置技巧是怎樣的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

十載的雙臺子網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整雙臺子建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“雙臺子網(wǎng)站設(shè)計”,“雙臺子網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

hadoop 性能調(diào)優(yōu) 重要參數(shù)設(shè)置技巧

分類: hadoop2012-12-16
19:53 43人閱讀 評論(0) 收藏 舉報

這里主要針對Mapreduce的性能調(diào)優(yōu)。

這一兩個月在做mapreduce的性能調(diào)優(yōu),有些心得,還是要記下來的,以郷后人~

這里主要涉及的參數(shù)包括:

HDFS:

dfs.block.size

Mapredure:

io.sort.mb

io.sort.spill.percent

mapred.local.dir

mapred.map.tasks & mapred.tasktracker.map.tasks.maximum

mapred.reduce.tasks & mapred.tasktracker.reduce.tasks.maximum

mapred.reduce.max.attempts

mapred.reduce.parallel.copies

mapreduce.reduce.shuffle.maxfetchfailures

mapred.child.java.opts

mapred.reduce.tasks.speculative.execution

mapred.compress.map.output & mapred.map.output.compression.codec

mapred.reduce.slowstart.completed.maps

這里一共列出了十六個參數(shù),這十六個參數(shù)基本上能滿足一般情況下,不針對特定場景應(yīng)用的性能調(diào)優(yōu)了,下面我將以Terasort為例,詳述這些參數(shù)的作用已經(jīng)如何配比調(diào)優(yōu)。

       hadoop的HDFS作為mapreduce的基礎(chǔ)分布式文件系統(tǒng),對mapred的運行效果也有直接的影響。首先影響到我們的性能的參數(shù)就是block.size,在網(wǎng)絡(luò)環(huán)境很好的集群中,建議將這個參數(shù)提升,大小可以到128或256或更大(默認64M)。

        但是HDFS的影響也僅限于此,而且其配置項多數(shù)都是目錄配置以及容錯,還有備份數(shù)等等,這些對于我們性能調(diào)優(yōu)意義不大??梢耘e一個例子,那就是備份數(shù)。這個參數(shù)主要是用于設(shè)置block在集群中的備份數(shù),這些備份將按照某種規(guī)則分配在集群的各個機器上,默認是3備份。但是由于mapred的map需要輸入數(shù)據(jù),一般默認情況是一個map一個block,那么當(dāng)你在集群起job,一個job拉起來N多的map在一個機器執(zhí)行時,如果這個map的輸入數(shù)據(jù)是本地的,那么顯然map的執(zhí)行將會更快,因為不需要等待網(wǎng)絡(luò)傳輸。拿四個節(jié)點為例,如果你設(shè)置三備份,那么你不管存什么數(shù)據(jù),任何一臺機器上可以存數(shù)的你的數(shù)據(jù)的量都是3/4,。但是如果你設(shè)置為四備份,那么任意一個節(jié)點上都能完整的找到你的數(shù)據(jù),那么不管你怎么起job,你的map都將是本地化的。但是帶來的壞處就是磁盤開銷過大,一般大型的集群也承受不了5備份以上的數(shù)據(jù)量,所以,基本無意義。

         下面來談?wù)勚仡^戲,那就是mapred中的這些NB的參數(shù)。前置知識我相信大家都已經(jīng)了解了(如果你還不了解mapred的運行機制,看這個也無意義...),首先數(shù)據(jù)要進行map,然后merge,然后reduce進程進行copy,最后進行reduce,其中的merge和copy總稱可以為shuffle。在你起一個job前,hadoop需要知道你要啟動多少個map,多少個renduce進程,如果你進行默認參數(shù)啟動,那么默認只有一個map線程。(reduce也許也是一個..)這個速度是很慢的。設(shè)置map啟動個數(shù)的參數(shù)是mapred.map.tasks,reduce則是mapred.reduce.tasks。這兩個參數(shù)可以說是對整個集群的性能起主導(dǎo)型作用的參數(shù),調(diào)試也基本上圍繞這兩個參數(shù)。那大家要問就兩個參數(shù)有什么好來回修改的呢?其實,這兩個參數(shù)的設(shè)置配比也直接影響到其他的參數(shù)的設(shè)置。首當(dāng)其沖的就是mapred.tasktracker.map.tasks.maximum
以及 mapred.tasktracker.reduce.tasks.maximum。因為這兩個參數(shù)設(shè)置了一臺服務(wù)器上最多能同時運行的map和reduce數(shù)?,F(xiàn)在我們來假設(shè)一個集群有一個namenode以及8個datanode,這是一個很客觀的集群。我們假設(shè)上面的數(shù)據(jù)都是三備份,那么本地數(shù)據(jù)率為3/8。假設(shè)你設(shè)置的map.tasks=128,reuce.tasks=64,那么你的對應(yīng)的兩個maximum就應(yīng)該分別為16以及8或是更高。因為這樣才能保證你的所有map和reduce的任務(wù)都是分別同時啟動的,如果你的設(shè)置reduce的maximum為7,那么你將得到非常糟糕的結(jié)果,因為這樣8臺機器同時可以運行的reduce數(shù)量為56了,比你設(shè)置的64差8個進程,這八個進程將會處于pending狀態(tài),直到某些正在運行的reduce完成它才能補上運行,勢必大幅度的增加了運行時間。當(dāng)然,這也不是越大越好,因為map有很長的一段時間是和reduce進程共存的,共存的時間取決于你設(shè)置的mapred.reduce.slowstart.completed.maps,如果你設(shè)置為0.6.那么reduce將在map完成60%后進入運行態(tài)。所以說,如果你設(shè)置的map和reduce參數(shù)都很大,勢必造成map和reduce爭搶資源,造成有些進程饑餓,超時出錯,最大的可能就是socket.timeout的出錯,網(wǎng)絡(luò)過于繁忙。所以說,這些需要根據(jù)集群的性能,適當(dāng)調(diào)試添加和減少,以達到最好的效果。那么,map和reduce之間是怎樣的配比比較好呢?apache官網(wǎng)給了我們一些建議,比如設(shè)置reduce與map,他們之間有一個具體的公式。但是實際情況總是不能用公式來套用的(否則就不需要系統(tǒng)工程師了...)。一般情況下,當(dāng)你設(shè)置好map和reduce進程數(shù)后,你可以通過hadoop的mapred的頁面入口(http://namenode:50030/jobdetai.jps)查看map和reduce進度,如果你發(fā)現(xiàn)reduce在33%時,map正好提早一點點到100%,那么這將是最佳的配比,因為reduce是在33%的時候完成了copy階段,也就是說,map需要再reduce到達33%之前完成所有的map任務(wù),準(zhǔn)備好數(shù)據(jù)。千萬不能讓reduce在等待,但是可以讓map先完成。

          OK!這個重點的搞完之后我們在看看兩個息息相關(guān)的參數(shù),io.sort.mb和mapred.child.java.opts。因為每一個map或是reduce進程都是一個task,都會對應(yīng)啟動一個JVM,所以其實java.opts也與你啟動的map和reduce數(shù)以及別的一些jvm敏感的參數(shù)有關(guān)。既然task運行在JVM里面,那么,我這里所要提到的sort.mb 也是分配在JVM中的,這個值是用來設(shè)置到底我一個map sort的可用buffer大小是多少,如果map在內(nèi)存中sort的結(jié)果達到一個特定的值,就會被spill進入硬盤。具體這個值是等于mb*io.sort.spill.percent.。按照通常的設(shè)置方式,為了讓jvm發(fā)揮最佳性能,一般設(shè)置JVM的最大可用內(nèi)存量為mb設(shè)置的內(nèi)存量的兩倍。那么mb的內(nèi)存量又根據(jù)什么設(shè)置呢?它主要是與你的一個map的結(jié)果數(shù)據(jù)量有關(guān)。如果一個map的結(jié)果數(shù)據(jù)量為600M,那么如果你設(shè)置的mb*io.sort.spill.percent.=200M,那么將進行3次spill進入硬盤,然后map完成后再將數(shù)據(jù)從硬盤上取出進行copy。所以,這個mb設(shè)置如果是600M的話,那么就不需要進行這次硬盤訪問了,節(jié)省了很多時間。但是最大的問題是內(nèi)存耗費很大。如果mb是600M,那么jvm.opts將需要設(shè)置為1G以上,那么,按照上例,你同時啟動16個map和8個reduce
的話,那么你的內(nèi)存至少應(yīng)該有24G。所以,這里的設(shè)置也要慎重,因為畢竟你的服務(wù)器還要跑很多其他的服務(wù)。

         下面就講一下別的一些有影響的參數(shù),按照一般的設(shè)置方法就可以。首先是針對磁盤和磁盤IO的,mapred.local.dir,這個參數(shù)最好設(shè)置的跟你的磁盤數(shù)相同,你的磁盤應(yīng)該每一個磁盤都單獨設(shè)置為RAID0,然后將所有磁盤配置成多路徑在這個配置項下,那么HDFS在決定數(shù)據(jù)存儲時會順序循環(huán)存儲,保證所有磁盤數(shù)據(jù)量的一致性,也提升了整體磁盤的IO速度。那么針對于網(wǎng)絡(luò),主要是有reduce和map同時運行時需要慎重考慮。mapred.reduce.parallel.copies與mapreduce.reduce.shuffle.maxfetchfailures這些參數(shù)都是對網(wǎng)絡(luò)有一些影響的。第一個是reduce可以進行的最大并行拷貝線程數(shù),這些線程會同時從不同的datanode上取map結(jié)果,而第二個出錯重試次數(shù)過多對于很多我們的應(yīng)用都是降低性能的一個問題。因為一般一個job重試了1次沒有成功那基本以后無論怎么重試都是不會成功的,重試了不成功不要緊,關(guān)鍵是這個重試還大量的消耗系統(tǒng)的資源,讓其他的線程可能也因為starvation
而進入重試狀態(tài),惡性循環(huán)了。如果說你的網(wǎng)絡(luò)確實很成瓶頸,千兆網(wǎng)都達不到,那么建議打開mapred.compress.map.output壓縮選項,并配置 mapred.map.output.compression.codec壓縮編碼格式,一般都會使用snappy,因為這種格式對于壓縮和解壓縮都相對較快。還有就是如果你的集群是異構(gòu)的,有些機器性能好,有些差,那么建議打開mapred.reduce.tasks.speculative.execution推測性執(zhí)行,有利于優(yōu)化進程分配,提升集群性能。

上述內(nèi)容就是hadoop性能調(diào)優(yōu)的重要參數(shù)設(shè)置技巧是怎樣的,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:hadoop性能調(diào)優(yōu)的重要參數(shù)設(shè)置技巧是怎樣的
文章源于:http://aaarwkj.com/article36/iggisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計企業(yè)網(wǎng)站制作、微信小程序、云服務(wù)器響應(yīng)式網(wǎng)站、網(wǎng)站策劃

廣告

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

商城網(wǎng)站建設(shè)
人妻的秘密一区二区三区| 免费的黄色片带中文字幕| 国产视频成人免费观看| 人妻中文字幕在线av| 最新91精品手机国产在线| 福利视频一区二区视频| 99久久婷婷免费国产综合精品| 日本待黄大片一区二区| 欧美日韩精品综合国产| 久久精品亚洲天然东京热| 精品亚洲天堂一区二区三区| 久久99久久久国产精品| 91桃色午夜福利视频| 国产精品1区2区久久久| 日韩精品在线观看不卡| 国产九色91中文在线视频| 日韩欧美国产成人在线观看| 欧美一级纯黄电影视频| 日韩精品一区二区三区四区在线视频| 国产日韩精品欧美综合区| 午夜av在线毛片免费观看| 久久久久久成人综合色| 高清不卡日本一区二区| 欧美性大片一区二区三区| 天堂社区人妻在线亚洲| 天堂久久天堂av色综合| 成人黄色免费在线网站| 在线激情av中文字幕| 91国产网址在线观看| 亚洲精品国产精品乱码不| 人妻熟女一区二区aⅴ在线视频 | 超碰国产熟女一区二区三区| 亚洲熟妇av一区二区| 亚洲中文字幕第11页| 亚洲欧美日韩之国产综合| 日韩高清亚洲一区二区| 久久久久久精品国产av| 亚洲精品国产精品成人| 97人妻人人澡人人添人人爽| 热99精品视频在线观看| 精品欧美一区二区在线|