如果Hadoop叢集計算量在一定的周期記憶體在明顯的波峰、波穀,您可以設定在每天、每周或每月的固定時間段擴出一定量的Task節點來補充計算能力,這樣在保證作業完成的同時,可以節省您的成本。

由於Auto Scaling節點均為隨用隨付的購買方式,並且隨用隨付和訂用帳戶的同等計算能力價格大概在3:1左右,所以需要根據您的Auto Scaling時間來設計訂用帳戶計算能力和隨用隨付計算能力的比例。例如業務波峰時間段每天持續8小時,訂用帳戶和隨用隨付的價格大致相同,當大於8小時時,訂用帳戶比Auto Scaling的購買方式更優惠。

配置伸縮執行個體數

  • 最大節點數:Auto Scaling的Task節點上限。一旦達到上限,即使滿足Auto Scaling的規則,也不會繼續進行Auto Scaling的動作。目前可設定的Auto Scaling最大上限為1000。
  • 最小節點數:Auto Scaling的Task節點下限。如果Auto Scaling規則中設定的增加或減少Task節點數小於此處的最小節點數,那麼在首次執行時,叢集會以最小節點數為準進行伸縮。

    例如,設定彈性擴容規則為每天零點動態添加1個節點,但最小節點數為3。那麼系統在第一天的零點時會添加3個節點,以滿足最小節點數的要求。

配置伸縮規則

伸縮規則分為擴容規則和縮容規則。叢集關閉Auto Scaling功能後,所有規則會被清空,再次開啟Auto Scaling功能時,需要重新設定伸縮規則。

  • 規則名稱:在同一個叢集中,伸縮規則名稱(包括擴容規則和縮容規則)不允許重複。
  • 規則執行循環:
    • 只執行一次:叢集在指定的時間點執行一次Auto Scaling動作。
    • 重複執行:使用者可以選擇每天、每周或每月的某一特定時間點執行一次Auto Scaling動作。
  • 重試到期時間:Auto Scaling在到達指定時間時可能由於各種原因不能執行,通過設定重試到期時間,系統會在該時間範圍內每隔30秒一直檢測可以執行伸縮的時機,直到在滿足條件時執行伸縮。設定範圍為0到21600秒。

    假設在指定時間段需要進行Auto Scaling動作A,如果有其他Auto Scaling動作B或正處在冷卻期,則動作A無法執行。在您設定的重試到期時間內,每隔30秒會重試一次,嘗試執行A,一旦條件滿足,叢集會立刻執行Auto Scaling。

  • 增加或減少Task節點數:規則被觸發時,叢集每次執行增加或減少的Task節點數量。
  • 冷卻時間:每次Auto Scaling動作執行完成,到可以再次進行Auto Scaling的時間間隔。在冷卻時間內,不會發生Auto Scaling動作。

配置伸縮規格

Auto Scaling配置可以指定伸縮的節點的硬體規格。使用者只能在開啟Auto Scaling功能時配置,儲存後不能更改。如出於特殊情況確實需要修改,可以關閉Auto Scaling功能後,再次開啟。

  • 選擇vCPU和記憶體規格時,系統會根據您的選擇自動匹配出滿足條件的執行個體,顯示在下面的備選執行個體列表中。您需要添加備選的執行個體到右側列表中,以便叢集按照已選的執行個體規格進行伸縮。
  • 為避免由於ECS庫存不足造成的Auto Scaling失敗,您最多可以選擇3種ECS執行個體。
  • 無論是選擇高效雲端硬碟還是SSD雲端硬碟,資料盤最小設定為40G。