共用方式為


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

重要

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

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

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

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

優點

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

  • 用戶易記的 REST API:AKS 上的 HDInsight 提供使用者易記的 ARM Rest API 來管理應用程式模式作業,例如 Update、Savepoint、Cancel、Delete。

  • 易於管理作業 更新 和狀態管理:原生 Azure 入口網站 整合提供更新作業並還原至其最後儲存狀態(儲存點)的無麻煩體驗。 這項功能可確保整個作業生命週期的持續性和數據完整性。

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

主要功能

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

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

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

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

  • 取消:永久取消作業。

  • 刪除:刪除 AppMode 叢集。

必要條件

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

  • 訂用帳戶必要條件。

  • 資源必要條件。

  • 建立叢集集區。

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

    設定 Flink 應用程式模式叢集之前,需要數個準備步驟。 其中一個步驟牽涉到將應用程式模式作業 JAR 放在叢集的記憶體帳戶中。

  • 建立應用程式模式作業 JAR 的目錄:

    在專用容器內,建立您上傳應用程式模式作業 JAR 檔案的目錄。 此目錄可作為儲存您想要包含在 Flink 叢集或作業之 classpath 中的 JAR 檔案的位置。

  • Savepoints Directory (選擇性):

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

  • 範例目錄結構:

    顯示儲存點目錄結構的圖表。

一旦叢集集區部署完成,即可建立 Flink AppMode 叢集,讓我們在開始使用現有的叢集集區時,進行步驟。

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

    顯示叢集集區頁面的螢幕快照。

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

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

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

    顯示 Apache Flink 建立叢集頁面的螢幕快照。

    注意

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

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

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

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

    屬性 說明
    Jar 路徑 為作業 jar 提供 ABFS (儲存體) 路徑。 例如,abfs://flink@teststorage.dfs.core.windows.net/appmode/job.jar
    Entry 類別 (選擇性) 應用程式模式叢集的主要類別。 例如:com.microsoft.testjob
    Args (選擇性) 作業主要類別的自變數。
    儲存點名稱 您要用來啟動作業的舊儲存點名稱
    升級模式 選取預設的 [升級] 選項。 當叢集發生主要版本升級時,會使用此選項。 有三個選項可供使用。 UPDATE: 當使用者想要在升級后從最後一個儲存點復原時使用。 STATELESS_UPDATE: 當使用者想要在升級后重新重新啟動作業時使用。 LAST_STATE_UPDATE: 當使用者想要在升級后從最後一個檢查點復原作業時使用
    Flink 作業組態 新增 Flink 作業所需的更多設定。
  7. 選取 [作業記錄匯總]。 如果您想要將作業記錄上傳至遠端記憶體,請核取此複選框。 它可協助偵錯作業問題。 作業記錄的預設位置為 『儲存體 Account/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 選擇性。 輸入一個名稱 (例如 AKS 上的 HDInsight),以易於識別與叢集資源相關聯的所有資源。
    您可以將此選項留空。
    資源 選取 [所有選取的資源]。
  13. 選取 [下一步: 檢閱 + 建立] 以繼續。

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

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

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

HDInsight AKS 提供管理 Flink 作業的方式。 您可以重新啟動失敗的工作。 從入口網站重新啟動作業。

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

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

顯示正在執行的 Apache Flink 作業的螢幕快照。

  • 停止:停止作業不需要任何參數。 用戶可以選取動作來停止作業。 作業停止之後,入口網站上要停止的作業狀態。

  • 開始:從儲存點啟動作業。 若要啟動作業,請選取已停止的工作並加以啟動。

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

  • 無狀態更新:無狀態就像更新,但它牽涉到使用最新程序代碼重新重新啟動作業。 更新作業之後,入口網站上的工作狀態會顯示為 [ 執行中]。

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

  • 取消:終止作業。

  • 刪除:刪除 AppMode 叢集。

  • 檢視作業詳細數據:若要檢視作業詳細數據使用者可以按兩下作業名稱,它會提供作業的詳細數據和最後一個動作結果。

    顯示 JSON 檢視的螢幕快照。

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