問題分析報告--壓力環境下運行緩慢

問題分析報告--壓力環境下運行緩慢


1、問題描述

1.1 基本信息[Basic Information]

  • 集羣規模:37+3臺物理機,每臺128G內存;CPU:2*16C;SATA磁盤,2T*12
  • hadoop社區版本:**
  • 商業版本:FusionInsight_HD_V100R002C60U10
  • MetaStore:高斯數據庫(Postgresql)

1.2 問題描述[Problem Description]

  • 10月26號出現大規模任務積壓。跑批任務執行緩慢;

2、問題分析[Problem Analysis]

2.1 問題背景

出現運行慢包含如下兩個問題:

1. 打開Yarn的任務日誌頁面,發現有大量的任務啓動,但無法執行。每個任務使用的container均是1個。

2. 運行中的部分任務,比平時多消耗大約一到兩分鐘。

2.2 日誌分析

問題1:

  出現該現象,是因爲AM配置的資源百分比爲0.6,導致每個隊列的百分之六十的資源都消耗在AM啓動上。

關於AM配置資源百分比參數(maximum-am-resource-percent)的說明:

 該參數是指,AM可以使用隊列的資源配比。在mapreduce架構中。如果需要啓動一個任務,就需要啓動一個AM(Application Master)負責該任務的管理。 然後AM向ResourceManager申請隊列資源,將任務拆分成多個執行子任務map和reduce。AM並不負責任務的計算,只負責子任務的分配、監控,調度。

  從問題的情況來看,由於該參數配置值爲0.6。在大規模任務執行時,將出現多個任務均處於AM啓動狀態(百分之60資源),但是由於剩餘執行子任務計算的資源只剩餘40%。整體任務計算緩慢。

該參數在出廠設置值是0.1,修改成出廠默認值之後,大規模任務下整體時間有顯著減少。

問題二:從日誌分析,發現部分map、reduce任務啓動時間較長。但執行時間短。通過jstack線程棧分析,發現執行操作系統命令執行緩慢。通過檢查發現,在redhat6.5下觸發了操作系統的bug。

詳情請參看<XXXX>


3、根本原因[Root Cause]

  本問題主要包括兩個方面:

  1. AM可以使用隊列的資源配比參數配置不合理;
  2. 操作系統問題導致性能下降。

4、解決措施[Corrective Action]

4.1 最終解決措施[Solution]

  1. 修改參數maximum-am-resource-percent 爲0.1。
  2. 修改操作系統參數
  • 步驟1. echo "vm.zone_reclaim_mode = 0" >> /etc/sysctl.conf
  • 步驟2. sysctl -p


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章