共用方式為


AKS 上 HDInsight 中的 Apache Flink 應用程式模式叢集

注意

AKS 上的 Azure HDInsight 將於 2025 年 1 月 31 日退場。 請於 2025 年 1 月 31 日之前,將工作負載移轉至 Microsoft Fabric 或對等的 Azure 產品,以免工作負載突然終止。 訂用帳戶中剩餘的叢集將會停止,並會從主機移除。

在淘汰日期之前,只有基本支援可用。

重要

此功能目前為預覽功能。 Microsoft Azure 預覽版增補使用規定包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的更多法律條款。 若需此特定預覽版的相關資訊,請參閱 Azure HDInsight on AKS 預覽版資訊。 如有問題或功能建議,請在 AskHDInsight 上提交要求並附上詳細資料,並且在 Azure HDInsight 社群上追蹤我們以獲得更多更新資訊。

AKS 上的 HDInsight 現在提供 Flink 應用程式模式叢集。 此叢集可讓您使用 Azure 入口網站搭配便於使用介面和 Azure 資源管理 Rest API 來管理叢集 Flink 應用程式模式生命週期。 應用程式模式叢集旨在支援使用專用資源的大型且長時間執行的作業,以及處理耗用大量資源或大規模資料處理的工作。

此部署模式可讓您為特定的 Flink 應用程式指派專用資源,確保這些應用程式有足夠的運算能力和記憶體,可以有效處理大型工作負載。 

此圖顯示 Flink 應用程式視窗與作業管理員視窗之間的關聯性。

優點

  • 使用作業 jar 簡化叢集部署。

  • 使用者好用的 REST API:AKS 上的 HDInsight 提供使用者好用的 ARM Rest API 來管理應用程式模式作業,例如更新、儲存點、取消、刪除。

  • 輕鬆管理更新作業和管理狀態:原生 Azure 入口網站整合提供將作業更新並還原至上次儲存狀態 (儲存點) 的無憂體驗。 這項功能可確保整個作業生命週期的持續性和資料完整性。

  • 使用 Azure 管線或其他 CI/CD 工具將 Flink 作業自動化:使用 AKS 上的 HDInsight 時,Flink 使用者可以存取使用者好用的 ARM Rest API,將 Flink 作業順暢地整合到 Azure 管線或其他 CI/CD 工具中。

主要功能

  • 使用儲存點停止和啟動工作:使用者可以從先前的狀態 (儲存點) 正確停止和啟動其 Flink 應用程式模式作業。 儲存點可確實保留作業進度,以便順暢地繼續作業。

  • 作業更新:在更新儲存體帳戶上的 jar 之後,使用者可以更新執行中的應用程式模式作業。 此更新會自動取得儲存點,並使用新的 jar 啟動應用程式模式作業。

  • 無狀態更新:透過無狀態更新簡化應用程式模式作業的全新重新啟動程序。 這項功能可讓使用者使用更新的作業 jar 起始全新的重新啟動。

  • 儲存點管理:使用者可以在任何指定的時刻,為其執行中的作業建立儲存點。 您可以列出這些儲存點,並在需要時從特定檢查點重新啟動作業。

  • 取消:永久取消作業。

  • 刪除:刪除應用程式模式叢集。

必要條件

完成下列各節中的必要條件:

  • 訂用帳戶必要條件。

  • 資源必要條件。

  • 建立叢集集區。

  • 在儲存體帳戶中新增作業 jar。

    設定 Flink 應用程式模式叢集之前,需要數個準備步驟。 其中一個步驟必須將應用程式模式作業 JAR 放入叢集的儲存體帳戶中。

  • 為應用程式模式作業 JAR 建立一個目錄:

    在專用容器內,建立要在其中上傳應用程式模式作業 JAR 檔案的目錄。 此目錄可用來儲存您要在 Flink 叢集或作業的類別路徑中納入的 JAR 檔案。

  • 儲存點目錄 (選用):

    如果使用者想要在作業執行期間取得儲存點,請在儲存體帳戶中建立個別的目錄來儲存這些儲存點。 此目錄是用來儲存儲存點的檢查點資料和中繼資料。

  • 範例目錄結構:

    此圖顯示儲存點目錄結構。

Flink 應用程式模式叢集可在叢集集區部署完成後建立,讓我們來逐步完成從使用現有叢集集區開始的程序。

  1. 在 Azure 入口網站中,輸入 HDInsight 叢集集區/HDInsight/HDInsight on AKS,然後選取 [Azure HDInsight on AKS 叢集集區] 以移至叢集集區頁面。 在 HDInsight on AKS 叢集集區頁面上,選取您要在其中建立新 Flink 叢集的叢集集區。

    此螢幕擷取畫面顯示叢集集區頁面。

  2. 在特定叢集集區頁面上,按一下 [+ 新增叢集],並提供下列資訊:

    屬性 描述
    訂用帳戶 此欄位會自動填入已註冊叢集集區的 Azure 訂用帳戶。
    資源群組 此欄位會自動填入資料,並顯示叢集集區上的資源群組。
    區域 此欄位會自動填入資料,並顯示叢集集區上選取的區域。
    叢集集區 此欄位會自動填入資料,並顯示現在正在建立叢集的叢集集區名稱。 若要在不同的集區中建立叢集,請在入口網站中尋找該叢集集區,然後按一下 [+ 新增叢集]。
    HDInsight on AKS 集區版本 此欄位會自動填入資料,並顯示現在正在建立叢集的叢集集區版本。
    HDInsight on AKS 版本 選取新叢集的 HDInsight on AKS 次要或修補版本。
    叢集類型 從下拉式清單中,選取 [Flink]。
    叢集名稱 輸入新叢集的名稱。
    使用者指派的受控識別 從下拉式清單中,選取要與叢集搭配使用的受控識別。 如果您是受控服務識別 (MSI) 的擁有者,且 MSI 在叢集上沒有受控識別操作員角色,請按一下方塊下方的連結,指派 AKS 代理程式集區 MSI 所需的權限。 如果 MSI 已有正確的權限,則不會顯示任何連結。 請參閱必要條件,了解 MSI 所需的其他角色指派。
    儲存體帳戶 從下拉式清單中,選取要與 Flink 叢集建立關聯的儲存體帳戶,並指定容器名稱。 在叢集建立期間,受控識別會透過使用「儲存體 Blob 資料擁有者」角色進一步獲得指定儲存體帳戶的存取權。
    虛擬網路 叢集的虛擬網路。
    子網路 叢集的虛擬子網路。
  3. 啟用 Flink SQL 的 Hive 目錄:

    屬性 說明
    使用 Hive 目錄 啟用此選項以使用外部 Hive 中繼存放區。
    Hive 的 SQL Database 從下拉式清單中,選取要在其中新增 hive-metastore 資料表的 SQL Database。
    SQL 管理員使用者名稱 輸入 SQL 伺服器管理使用者名稱。 中繼存放區會使用此帳戶來與 SQL 資料庫通訊。
    金鑰保存庫 從下拉式清單中選取 Key Vault,其中包含的祕密具有 SQL 伺服器管理使用者名稱的密碼。 您必須使用 MSI 的金鑰權限、祕密權限和憑證權限等所有必要權限來設定存取原則,以用於建立叢集。 MSI 需要 Key Vault 管理員角色。 使用 IAM 新增必要的權限。
    SQL 密碼的祕密名稱 從儲存 SQL 資料庫密碼的 Key Vault 輸入祕密名稱。

    此螢幕擷取畫面顯示 Apache Flink 建立叢集頁面。

    注意

    根據預設,我們會使用 Hive 目錄的儲存體帳戶,如同叢集建立期間所使用的儲存體帳戶和容器。

  4. 選取 [下一步:設定] 以繼續。

  5. 在 [設定] 頁面上,提供下列資訊:

    屬性 說明
    節點大小 選取要用於 Flink 前端節點和背景工作節點的節點大小。
    節點數目 選取 Flink 叢集的節點數目;根據預設,前端節點為兩個。 背景工作節點的大小調整有助於決定 Flink 的工作管理員設定。 作業管理員和歷程記錄伺服器位於前端節點上。
  6. 在 [部署] 區段上,部署類型選擇 [應用程式模式] 以提供下列資訊:

    屬性 說明
    Jar 路徑 為作業 jar 提供 ABFS (儲存體) 路徑。 例如,abfs://flink@teststorage.dfs.core.windows.net/appmode/job.jar
    Entry 類別 (選用) 應用程式模式叢集的主要類別。 例如:com.microsoft.testjob
    引數 (選用) 作業主要類別的引數。
    儲存點名稱 用來啟動作業的舊儲存點名稱
    升級模式 選取預設的 [升級] 選項。 當叢集發生主要版本升級時,會使用此選項。 共有三個可用選項。 UPDATE:當使用者想要在升級後從最後一個儲存點復原時使用。 STATELESS_UPDATE:當使用者想要在升級後全新重新啟動作業時使用。 LAST_STATE_UPDATE:當使用者想要在升級後從最後一個檢查點復原作業時使用
    Flink 作業設定 新增 Flink 作業所需的其餘設定。
  7. 選取 [作業記錄彙總]。 如果您想要將作業記錄上傳至遠端儲存體,請核取此方塊。 它可協助偵錯作業問題。 作業記錄的預設位置為 'StorageAccount/Container/DeploymentId/logs'。 您可以設定 “pipeline.remote.log.dir”,以變更預設記錄目錄。 預設的記錄收集間隔為 600 秒。使用者可以設定 “pipeline.log.aggregation.interval” 來變更此值。

  8. 在 [服務設定] 區段上,提供下列資訊:

    屬性 說明
    工作管理員 CPU Integer (整數)。 輸入工作管理員 CPU 的大小 (核心數)。
    工作管理員記憶體 (MB) 輸入工作管理員記憶體大小 (MB)。 最小值為 1,800 MB。
    作業管理員 CPU Integer (整數)。 輸入作業管理員的 CPU 數目 (核心數)。
    作業管理員記憶體 (MB) 輸入記憶體大小 (MB)。 最小值為 1,800 MB。
    歷程記錄伺服器 CPU Integer (整數)。 輸入作業管理員的 CPU 數目 (核心數)。
    歷程記錄伺服器記憶體 (MB) 輸入記憶體大小 (MB)。 最小值為 1,800 MB。

    此螢幕擷取畫面顯示 Apache Flink 建立叢集索引標籤。

  9. 按一下 [下一步:整合] 按鈕以繼續下一頁。

  10. 在 [整合] 頁面上,提供下列資訊:

    屬性 說明
    Log Analytics 只有在叢集集區具有相關聯的記錄分析工作區時,才能使用此功能,一旦啟用,即可選取要收集的記錄。
    Azure Prometheus 此功能會將計量與記錄傳送到 Azure 監視器工作區,以便直接在叢集中檢視深入解析與記錄。

    此螢幕擷取畫面顯示 Apache Flink 建立叢集整合索引標籤。

  11. 按一下 [下一步:標籤] 按鈕以繼續下一頁。

  12. 在 [標籤] 頁面上,提供下列資訊:

    屬性 描述
    Name 選擇性。 輸入 HDInsight on AKS 之類的名稱,以輕鬆識別與您叢集資源相關聯的所有資源。
    您可以讓此處保持空白。
    資源 選取 [所有選取的資源]。
  13. 選取 [下一步: 檢閱 + 建立] 以繼續。

  14. 在 [檢閱 + 建立] 頁面上,尋找頁面頂端的 [驗證成功] 訊息,然後按一下 [建立]。

建立叢集時會顯示 [部署正在處理中] 頁面。 建立叢集需要 5-10 分鐘的時間。 建立叢集之後,即會顯示「您的部署已完成」 訊息。 如果您離開頁面,您可以檢查 [通知] 以了解目前狀態。

從入口網站管理應用程式作業

HDInsight AKS 可讓您管理 Flink 作業。 您可以重新啟動失敗的作業。 從入口網站重新啟動作業。

若要從入口網站執行 Flink 作業,請移至:

入口網站 > AKS 上的 HDInsight 叢集集區 > Flink 叢集 > 設定 > Flink 作業。

此螢幕擷取畫面顯示正在執行的 Apache Flink 作業。

  • 停止:停止作業不需要任何參數。 使用者可以選取動作來停止作業。 一旦停止作業,入口網站上的作業狀態就會變成 [已停止]。

  • 啟動:從儲存點啟動作業。 若要啟動作業,請選取已停止的作業並將其啟動。

  • 更新:更新有助於使用更新的作業程式碼重新啟動作業。 使用者必須在儲存位置更新最新的作業 jar,並從入口網站更新作業。 此動作會使用儲存點來停止作業,並使用最新的 jar 再次啟動作業。

  • 無狀態更新:無狀態與更新類似,但會使用最新的程式碼來執行作業的全新重新啟動。 更新作業之後,入口網站上的作業狀態就會顯示為 [執行中]

  • 儲存點:取得 Flink 作業的儲存點。

  • 取消:終止作業。

  • 刪除:刪除應用程式模式叢集。

  • 檢視作業詳細資料:若要檢視作業詳細資料,使用者可以按一下作業名稱,即會顯示作業的詳細資料和最後一個動作結果。

    顯示 JSON 檢視的螢幕擷取畫面。

對於任何失敗的動作,此 json 檢視會提供詳細的例外狀況和失敗原因。