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...