AKS 上的 HDInsight 中的 Apache Flink® 組態管理
重要
AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解。
您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。
重要
這項功能目前為預覽狀態。 Microsoft Azure 預覽版的補充使用規定 包含適用於 Beta 版、預覽版或尚未正式發行之 Azure 功能的更合法條款。 如需此特定預覽的資訊,請參閱 AKS 上的 Azure HDInsight 預覽資訊。 如果有問題或功能建議,請在 AskHDInsight 中提交請求,並追蹤我們以獲取 Azure HDInsight 社群 的更多更新。
AKS 上的 HDInsight 提供 Apache Flink 的一組預設組態,適用於大部分屬性和一些以一般應用程式配置檔為基礎的設定。 不過,如果您需要調整 Flink 組態屬性,以改善某些具有狀態使用方式、平行處理原則或記憶體設定的應用程式效能,您可以使用 AKS 叢集上的 HDInsight 中的 Flink 作業區段來變更 Flink 作業組態。
移至 [設定] > Flink 作業 > 按兩下 [更新]。
按一下 [+ 新增資料列] 來編輯設定。
在這裡,檢查點間隔會在叢集層級 變更。
按一下 [確定],然後 [儲存]以更新變更。
儲存之後,新的組態會在幾分鐘內更新 (~5 分鐘)。
組態,可使用組態管理設定來更新。
processMemory size:
進程記憶體大小或作業管理員和工作管理員的預設設定,是使用者在叢集建立期間所設定的記憶體。
您可以使用下列組態屬性來設定此大小。 若要變更任務管理器進程記憶體,請使用此設定。
taskmanager.memory.process.size : <value>
範例:
taskmanager.memory.process.size : 2000mb
針對作業管理員
jobmanager.memory.process.size : <value>
注意
可設定進程記憶體上限等於為
jobmanager/taskmanager
設定的記憶體。
檢查點間隔
檢查點間隔會決定 Flink 觸發檢查點的頻率。 以毫秒為單位定義,而且可以使用下列組態屬性來設定
execution.checkpoint.interval: <value>
默認設定為 60,000 毫秒(1 分鐘),此值可以視需要變更。
狀態後端服務
狀態後端會決定 Flink 如何管理和保存應用程式的狀態。 它會影響檢查點的儲存方式。 您可以使用下列屬性來設定「狀態後端」:
state.backend: <value>
根據預設,AKS 上的 HDInsight 中的 Apache Flink 叢集會使用 Rocks DB。
檢查點儲存路徑
我們默認允許持續性檢查點,方法是將檢查點儲存在使用者所設定的 abfs
記憶體中。 即使作業失敗,因為會保存檢查點,所以可以輕鬆地開始使用最新的檢查點。
state.checkpoints.dir: <path>
將 <path>
取代為儲存檢查點的理想路徑。
根據預設,儲存在使用者所設定的記憶體帳戶 (ABFS) 中。 只要 Flink Pod 可以存取它,這個值就可以變更為所需的任何路徑。
並行檢查點上限
您可以藉由設定下列屬性來限制並行檢查點數目上限:checkpoint.max-concurrent-checkpoints: <value>
以所需的並行檢查點數目上限取代 <value>
。 例如,1 一次只允許一個檢查點。
保留的檢查點上限
您可以藉由設定下列屬性來限制要保留的檢查點數目上限:
state.checkpoints.num-retained: <value>
以所需的最大數目取代 <value>
。 根據預設,我們保留最多五個檢查點。
儲存點記憶體路徑
我們默認允許持續性儲存點,方法是將儲存點儲存在 abfs
記憶體中(如使用者所設定)。 如果使用者想要停止並稍後使用特定儲存點啟動作業,他們可以設定此位置。
state.checkpoints.dir:<path>
將 <path>
取代為儲存點儲存所在的所需路徑。
根據預設,儲存在使用者所設定的記憶體帳戶中。 (我們支援ABFS)。 只要 Flink Pod 可以存取它,這個值就可以變更為所需的任何路徑。
作業管理員高可用性
在 AKS 上的 HDInsight 中,Flink 會使用 Kubernetes 作為後端。 就算作業管理器因為任何已知或未知的問題而失敗,但 Pod 會在幾秒鐘內重新啟動。 因此,即使作業因為此問題而重新啟動,作業仍會從 最新的檢查點復原。
常見問題
為什麼作業中途失敗? 即使作業突然失敗,如果檢查點持續發生,則作業預設會從最新的檢查點重新啟動。
在兩者之間變更作業策略嗎? 有一些使用案例,因為某些作業層級錯誤,需要在生產環境中修改作業。 在此期間,使用者可以停止任務,這會自動取得保存點,並將其儲存在保存點位置。
按兩下
savepoint
,等待savepoint
完成。儲存點完成之後,點擊 [開始],[啟動作業] 標籤隨即出現。 從下拉式清單中選取儲存點名稱。 視需要編輯任何設定。 然後按下 [確定] 。
由於保存點是在任務中提供,因此 Flink 知道從何處開始處理數據。
參考
- Apache Flink 組態
- Apache、Apache Kafka、Kafka、Apache Flink、Flink 和其相關的開放原始碼專案名稱是 Apache Software Foundation (ASF) 的 商標。