hadoop層面性能如何調(diào)優(yōu)

這篇文章主要為大家展示了“hadoop層面性能如何調(diào)優(yōu)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“hadoop層面性能如何調(diào)優(yōu)”這篇文章吧。

創(chuàng)新互聯(lián)建站專注于中大型企業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計客戶近千家,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注品牌網(wǎng)站制作和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長!

hadoop 層面性能調(diào)優(yōu)

1. 守護(hù)進(jìn)行內(nèi)存調(diào)優(yōu) 

a)NameNode 和 DataNode 內(nèi)存調(diào)整在 hadoop-env.sh 文件中 

NameNode: ExportHADOOP_NAMENODE_OPTS="-Xmx512m-Xms512m -Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS" 

DataNode: 

export HADOOP_DATANODE_OPTS="-Xmx256m -Xms256m -Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS" 

-Xmx -Xms 這兩個參數(shù)一般保持一致,以避免每次垃圾回收完成后 JVM 重新分配內(nèi)存。

b)REsourceManager 和 NodeManager 內(nèi)存調(diào)整在 yarn-env.sh 文件中 

REsourceManager: 

export YARN_RESOURCEMANAGER_HEAPSIZE=1000 默認(rèn) export YARN_RESOURCEMANAGER_OPTS="..........."可以覆蓋上面的值 

NodeManager: 

export YARN_NODEMANAGER_HEAPSIZE=1000 默認(rèn)export YARN_NODEMANAGER_OPTS="";可以覆蓋上面的值 

常駐內(nèi)存經(jīng)驗(yàn)配置: 

namenode:16G 

datanode:2-4G 

ResourceManager:4G
NodeManager:2G 

Zookeeper:4G 

Hive Server:2G 

2. mr中間目錄要配置多個,分散IO 壓力

http://hadoop.apache.org/docs/r2.6.0/ 

配置文件yarn-default.xml 分散 IO 壓力 

yarn.nodemanager.local-dirs 

yarn.nodemanager.log-dirs 

配置文件 mapred-default.xml: 

mapreduce.cluster.local.dir 

配置文件 hdfs-default.xml:提高可靠性 

dfs.namenode.name.dir
dfs.namenode.edits.dir 

dfs.datanode.data.dir 

3. mr中間結(jié)果要壓縮 

a)配置 mapred-site.xml 文件中配置 

<property>

 <name>mapreduce.map.output.compress</name> 

 <value>true</value> 

</property> 

<property> 

<name>mapreduce.map.output.compress.codec</name> 

<value>org.apache.hadoop.io.compress.SnappyCodec</value> 

</property>
程序運(yùn)行時指定參數(shù) hadoop jar /home/hadoop/tv/tv.jar MediaIndex -Dmapreduce.compress.map.output=true -Dmapreduce.map.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec /tvdata /media 

b)使用合理的壓縮算法(cpu 和磁盤) cpu:如果是 cpu 的瓶頸,可以更換速度快的壓縮算法 磁盤:如果是磁盤的瓶頸,可以更換壓縮力度大的壓縮算法 一般情況我們使用 snappy 壓縮,比較均衡 lzo 

4. hdfs文件系統(tǒng)中避免,大量小文件存在 

5. 根據(jù)具體情況,在 Map 節(jié)點(diǎn)使用 Combiner,減少輸出結(jié)果


6. 重用 Writable 類型

比如 聲明一個對象 Text word = new Text(); map(),reduce()方法里面重用 

7. 根據(jù)集群節(jié)點(diǎn)具體情況,調(diào)整 task 的并行度 

設(shè)置 map 和 reduce 最大任務(wù)個數(shù): 

mapreduce.tasktracker.map.tasks.maximum 

mapreduce.tasktracker.reduce.tasks.maximum 

配置文件 mapred-default.xml:

設(shè)置 map 和 reduce 單個任務(wù)內(nèi)存大?。?nbsp;

mapreduce.map.memory.mb 1G 默認(rèn) 

mapreduce.reduce.memory.mb 1G 默認(rèn)

8. 要有效的監(jiān)控手段(使用nmon,條件允許會部署ganglia搜集各種指標(biāo),分析指標(biāo)發(fā)現(xiàn)瓶頸,然后指定措施)

硬件層面性能調(diào)優(yōu): 

機(jī)架分開,節(jié)點(diǎn)均勻放置 

操作系統(tǒng)層面性能調(diào)優(yōu): 

多個網(wǎng)卡:多網(wǎng)卡綁定,做負(fù)載均衡或者主備 

磁盤:多個磁盤掛載到不同目錄下,存放數(shù)據(jù)做計算的磁盤不要做 raid 

集群規(guī)劃: 

集群節(jié)點(diǎn)內(nèi)存分配: 

比如一個數(shù)據(jù)節(jié)點(diǎn),假如 task 并行度為 8 DataNode(2~4G)+ NodeManager(2G)+Zookeeper(4G)+1G(單個任務(wù)默認(rèn)大?。?8=16G~18G


集群規(guī)模: 假如 每天數(shù)據(jù) 1T 數(shù)據(jù)保存一個月,每個節(jié)點(diǎn)硬盤 2T 1T*3(副本)*30(天)=90T=n*2T*(60~70%) n=60 節(jié)點(diǎn)左右 企業(yè)中數(shù)據(jù)保留 7 天 15 天比較常見,數(shù)據(jù)比較重要的話 1 個月

以上是“hadoop層面性能如何調(diào)優(yōu)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁題目:hadoop層面性能如何調(diào)優(yōu)
本文鏈接:http://bm7419.com/article10/pcgogo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化營銷型網(wǎng)站建設(shè)、App開發(fā)、、商城網(wǎng)站響應(yīng)式網(wǎng)站

廣告

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

外貿(mào)網(wǎng)站建設(shè)