HADOOP優化 實用篇

2021-10-01 06:18:29 字數 2697 閱讀 4155

1.設定合理塊大小(dfs.block.size)

如果塊過小,產生的元資料大,會增加namenode的壓力;如果塊過大可能會隨時磁碟空間

2.將中間結果分布多個磁碟上,提高寫入速度(mapred.local.dir)

配置mapred-site.xml

mapred.local.dir<

/name>

/var/hadoop/hdfs_folder/mapred/local/

,/home/hadoop/data1/mapred/local/

<

/value>

<

/property>

3.設定namenode能同時處理請求數(dfs.namenode.handler.count)

dfs.namenode.handler.count=20 * log2(cluster size),比如集群規模為8台時,此引數設定為60

4.編輯日誌儲存路徑dfs.namenode.edits.dir設定與映象檔案儲存路徑dfs.namenode.name.dir盡量分開,達到最低寫入延遲

容器記憶體

yarn.nodemanager.resource.memory-mb

最小容器記憶體

yarn.scheduler.minimum-allocation-mb

容器記憶體增量

yarn.scheduler.increment-allocation-mb

最大容器記憶體

yarn.scheduler.maximum-allocation-mb

1.伺服器節點上yarn可使用的物理記憶體總量,預設是8192(mb),注意,如果你的節點記憶體資源不夠8gb,則需要調減小這個值,而yarn不會智慧型的探測節點的物理記憶體總量。yarn.nodemanager.resource.memory-mb

2.單個任務可申請的最多物理記憶體量,預設是8192(mb)。yarn.scheduler.maximum-allocation-mb

3.如果想資源分配靈活一些,可以把最大容器記憶體配置和容器記憶體一樣;如果想資源分配嚴格,把最小容器記憶體和最大容器記憶體配置一樣的數值,這樣單個機器的記憶體就是乙個固定值,如果單個機器記憶體是120g,可以設為資源使用100g

容器虛擬cpu核心

yarn.nodemanager.resource.cpu-vcores

最小容器虛擬cpu核心數量

yarn.scheduler.minimum-allocation-vcores

容器虛擬cpu核心增量

yarn.scheduler.increment-allocation-vcores

最大容器虛擬cpu核心數量

yarn.scheduler.maximum-allocation-vcores

vcore :虛擬cpu的core ,是yarn自己引入的概念,因為每台機器的效能不一樣,每台機器的core代表的資源也不一樣,yarn為了標準化這些有差異的機器,於是引入vcore的概念。

乙個物理core預設對應兩個vcore

在生產上,一般會預留兩個core,也就是少了4個vcore

fifo   先進先出,作業的等待時間比較長

capacity 計算(x)

yarn判斷任務的大小,分配到不同的佇列

b佇列是小任務佇列,預先占用集群的資源

讓多個任務可以並行執行。

job1拿到的資源沒有公平方式多。因為它一部分需要分配給小佇列。

fair 公平 生產中用該排程器

為job動態調整系統資源。

執行的一些任務釋放部分資源

給第二個任務執行。

當job2執行完之後,將資源釋放後

job1會將資源重新占用

1.增大環形緩衝區大小。由100m擴大到200m

2.增大環形緩衝區溢寫的比例。由80%擴大到90%

3.設定map、reduce共存:調整slowstart.completedmaps引數,使map執行到一定程度後,reduce也開始執行,減少reduce的等待時間

4.改變輸入分片與塊大小一樣,減少網路io

5.maptask預設記憶體大小為1g,可以增加maptask記憶體大小為4-5g

6.reducetask預設記憶體大小為1g,可以增加reducetask記憶體大小為4-5g

7.map端壓縮,reduce端壓縮,小檔案合併

利用secondarynamenode恢復namenode

1.確保新的namenode 目錄存在,並移除其內容

2.把secondarynamenode節點中的所有內容複製到新的namenode節點的目錄中,就是複製快照

3.在新的namenode上執行:

hadoop namenode -importcheckpoint

該步會從中恢復,並啟動namenode

4.檢查檔案塊完整性,執行: hadoop fsck /

5.停止namenode

6.刪除新的namenode目錄下的檔案

7.正式啟動namenode

sql查詢優化實用篇

一 查詢優化優化率 總 業務設計 資料庫設計 查詢優化 產品裝置 高併發cpu要求高,記憶體要求高,資料量大 磁碟空間大 解析 1業務設計 產品經理設計,開發人員優化 業務處理應盡量少連線資料庫 如 有乙個listids 可以迴圈乙個乙個查 也可以用 in listids 一次查全 業務處理複雜,沒...

Hadoop 六 Hadoop企業優化

mapreduce 程式效率的瓶頸在於兩點 cpu 記憶體 磁碟健康 網路 1 資料傾斜 2 map和reduce數設定不合理 3 map執行時間太長,導致reduce等待過久 4 小檔案過多 5 大量的不可分塊的超大檔案 6 spill次數過多 7 merge次數過多等。mapreduce優化方法...

Hadoop 企業優化

mapreduce優化方法主要從六個方面考慮 資料輸入 map階段 reduce階段 io傳輸 資料傾斜問題和常用的調優引數。2.6.1 資源相關引數 以下引數是在使用者自己的mr應用程式中配置就可以生效 mapred default.xml 配置引數 引數說明 mapreduce.map.memo...