大數(shù)據(jù)運(yùn)維問(wèn)題記錄(四)

問(wèn)題描述:有個(gè)hadoop集群,跑hive任務(wù)的時(shí)候慢,而且經(jīng)常跑的跑的就掛了,報(bào)內(nèi)存不夠等等的相關(guān)異常,需要我們給解決,優(yōu)化一下配置

問(wèn)題解決:跑hive慢,一方面是hive語(yǔ)句的問(wèn)題,另一方面就是hadoop中mapreduce已經(jīng)yarn的相關(guān)配置沒(méi)有配置好,第一方面需要項(xiàng)目組開(kāi)發(fā)人員自己解決了,學(xué)習(xí)如何根據(jù)業(yè)務(wù)優(yōu)化一下sql

參數(shù)配置優(yōu)化就需要平衡集群中機(jī)器的內(nèi)存,處理器和磁盤的使用

Yarn和MapReduce的總的可用內(nèi)存應(yīng)考慮到保留的內(nèi)存

保留內(nèi)存=保留系統(tǒng)內(nèi)存+保留其它應(yīng)用所用內(nèi)存(比如hbase,spark等)

建議保留的內(nèi)存如下(以hbase為例):

下面的計(jì)算是確定每個(gè)節(jié)點(diǎn)的Container允許的最大數(shù)量:

#Container數(shù)量=min(2*CORES, 1.8*DISKS, (可用內(nèi)存)/最低Container的大小)

最低Container的大小這個(gè)值是依賴于可用的RAM數(shù)量——在較小的存儲(chǔ)節(jié)點(diǎn),最小的Container的大小也應(yīng)較小。下面的表列出了推薦值:

最后計(jì)算的每個(gè)Container的內(nèi)存大小是:

每個(gè)Container的內(nèi)存大小 = max(最小Container內(nèi)存大小, (總可用內(nèi)存) /Container數(shù)))

其中mapred-site.xml中的與性能有關(guān)的主要參數(shù)如下:

yarn-site.xml中與性能有關(guān)的參數(shù)如下:

參數(shù)的計(jì)算方式如下:

例如:集群節(jié)點(diǎn)擁有12個(gè)CPU核,48GB內(nèi)存和12塊磁盤

保留內(nèi)存(Reserved Memory)=6GB系統(tǒng)預(yù)留內(nèi)存+(如果有Hbase)8GB的Hbase內(nèi)存

最小的容器大小(Min container size)=2GB

容器數(shù)目(containers)=min(2*12,1.8*12,(48-6-8)/2)=min(24,21.6,17)=17

每個(gè)容器的RAM(RAM-per-container)=max(2,(48-6-8)/17)=max(2,2)=2

以下配置具體參數(shù)還是要根據(jù)給其它系統(tǒng)預(yù)留的內(nèi)存數(shù)而定

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容