分享方式:


HDInsight on AKS 中的 Apache Flink® 組態管理

重要

此功能目前為預覽功能。 適用於 Microsoft Azure 預覽版的補充使用規定包含適用於 Beta 版、預覽版或尚未發行至正式運作之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 預覽資訊的 Azure HDInsight。 如需問題或功能建議,請在 AskHDInsight提交要求,並提供詳細數據,並遵循我們在 Azure HDInsight 社群取得更多更新。

HDInsight on AKS 提供 Apache Flink 的一組預設組態,適用於大部分屬性和一些以一般應用程式設定檔為基礎的設定。 不過,如果您需要調整 Flink 組態屬性,以改善某些具有狀態使用方式、平行處理原則或記憶體設定的應用程式效能,您可以使用 AKS 叢集上的 HDInsight 中的 Flink 作業區段來變更 Flink 作業組態。

  1. 移至 設定 > Flink 作業 > 按兩下 [更新]。

    顯示更新頁面的螢幕快照。

  2. 按兩下 [ + 新增資料列 ] 以編輯組態。

    更新作業的螢幕快照。

    檢查點間隔在此會於叢集層級變更。

  3. 按兩下 [確定] 更新變更,然後 [儲存]

  4. 儲存之後,新的組態會在幾分鐘內更新 (~5 分鐘)。

  5. 組態,可使用組態管理 設定 進行更新。

    processMemory size:

  6. 處理記憶體大小或作業管理員和工作管理員的預設設定,是使用者在叢集建立期間所設定的記憶體。

  7. 您可以使用下列組態屬性來設定此大小。 若要變更任務管理器進程記憶體,請使用此設定。

    taskmanager.memory.process.size : <value>

    範例: taskmanager.memory.process.size : 2000mb

  8. 針對作業管理員

    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 可以存取這個值,就可以變更為所需的任何路徑。

工作管理高可用性

在 HDInsight on AKS 中,Flink 會使用 Kubernetes 作為後端。 即使作業管理員因為任何已知/未知的問題而失敗,Pod 會在幾秒鐘內重新啟動。 因此,即使作業因為此問題而重新啟動,作業仍會從最新的檢查點復原。

常見問題集

作業為何會在兩者之間失敗。 即使作業突然失敗,如果檢查點持續發生,則作業預設會從最新的檢查點重新啟動。

在兩者之間變更作業策略嗎? 有一些使用案例,因為某些作業層級錯誤,需要在生產環境中修改作業。 在此期間,使用者可以停止工作,這會自動取得儲存點,並儲存在儲存點位置。

  1. savepoint按兩下並等候savepoint完成。

    顯示儲存點選項的螢幕快照。

  2. 儲存點完成之後,按兩下 [開始],[啟動作業] 索引卷標隨即出現。 從下拉式清單中選取儲存點名稱。 視需要編輯任何設定。 然後按兩下 [ 確定]。

    顯示如何啟動作業的螢幕快照。

由於儲存點是在作業中提供,因此 Flink 知道從何處開始處理資料。

參考