日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

遷移方案

本文為您介紹從原有集群(線下IDC自建集群或ECS自建)遷移Flink作業到DataFlow集群的整體流程,包括準備工作,如何遷移作業,以及常見問題等。

背景信息

EMR集群的基礎信息,請參見集群規劃

準備工作

集群規劃

創建DataFlow集群時,集群Core實例的CPU和內存總量可以參考原有集群的規模,再根據作業在DataFlow集群的實際運行情況進行微調。在選擇具體機型時,您可以根據是否有本地盤需求、是否希望使用規模較大的物理機等條件進行選擇。

Master實例規格通常與整體集群規模大小有關,對應集群最大CU規格經驗值如下表所示。

Master型號

集群最大CU規格

4核16 GB

80 CU

8核32 GB

160 CU

16核64 GB

800 CU

24核96 GB

800 CU以上

網絡互通

在EMR控制臺創建完DataFlow集群之后,在遷移作業之前,您還需要確保提交Flink作業的客戶端所在的機器與DataFlow集群之間的網絡互通。

針對原集群的不同情況,您可以選擇不同的解決方案:

  • 線下IDC自建集群:可以通過阿里云高速通道建立線下IDC和線上E-MapReduce所在VPC網絡的連通。

  • ECS自建:由于VPC實現用戶專有網絡之間的邏輯隔離,所以建議使用VPC網絡。

    • 經典網絡與VPC網絡互通:目前阿里云存在經典網絡和VPC兩種網絡類型。由于E-MapReduce集群是在VPC網絡中,而很多用戶的業務系統還存在于經典網絡中,為了解決此問題,阿里云推出了ClassicLink方案,您可以參見此方案進行網絡互訪,詳情請參見建立ClassicLink連接

    • VPC網絡之間的連通:選擇新舊集群處在同一個區域的同一個可用區內。

環境配置

由于DataFlow集群采用YARN部署模式,如果提交Flink作業的客戶端不位于DataFlow集群內,您還需要在提交Flink作業的客戶端的機器上配置好Hadoop相關的配置項,并設置好相關的環境變量。

驗證遷移環境

您自建集群的環境可能與DataFlow集群的環境不完全一致,例如JDK版本不同等。為了保證作業的正常遷移,強烈建議您在遷移生產作業之前,先通過多種方式驗證遷移方案是否有效,例如:

  • 在遷移生產作業之前,先遷移若干測試作業,觀察整個遷移流程是否完備。

  • 分批遷移,在遷移重要作業之前,先遷移優先級比較低的作業。甚至可以在條件允許的情況下,您可以繼續運行原來的作業,將遷移過來的作業試運行,如果沒有問題,再下掉原來的作業。

遷移和運行作業

類型

描述

遷移Checkpoint文件

將Checkpoint文件拷貝到DataFlow集群的HDFS上或者上傳到OSS中,在提交Flink作業的時候,可以通過-s參數指定Checkpoint文件,即可在DataFlow集群中使用該Checkpoint文件恢復作業。

遷移Flink作業

與原集群中的提交方式類似,您只需要將Flink作業提交到DataFlow集群即可。

運行不同版本的Flink作業

您原集群中的作業使用的Flink版本可能不同,例如,既有基于Flink 1.9版本的,也有基于Flink 1.12版本的。如果您希望不同版本的Flink作業都可以在DataFlow集群中運行,詳細方法如下:

  • 對于特定的Flink版本的作業,使用YARN per-job的方式提交。

    在該方式下,作業執行過程中所使用的Flink版本為提交作業的客戶端所使用的Flink版本,因此只需要在提交作業的客戶端使用指定版本的Flink提交作業即可。

    說明

    如果希望使用本地Flink runtime,則無需指定yarn.provided.lib.dirs參數。

  • 對于希望使用DataFlow集群自帶的Flink版本的作業,則需要通過yarn.provided.lib.dirs參數指定使用集群HDFS中的Runtime(例如,-D yarn.provided.lib.dirs=hdfs:///flink-current/ ),并推薦使用YARN Application模式提交,充分利用集群資源。

對接自建平臺

如果您自建了一套大數據平臺,則DataFlow集群也可以輕松集成進您現有的平臺中:

  • 資源管理與運維

    DataFlow集群基于YARN進行資源調度與管理,因此只需要按照集成YARN集群到已有平臺的通常操作進行即可。您可以根據需要配置YARN隊列的資源等,之后可通過YARN的REST API來訪問YARN作業狀態,并進行運維。

  • 日志查看

    • 對于運行中的作業,可以通過Flink Web UI進行查看,詳細信息請參見基礎使用

    • 對于已經運行結束的作業,可以通過Flink History Server查看狀態或者通過YARN提供的命令,例如yarn logs -applicationId application_xxxx_yyyy來訪問作業的日志。

      說明

      其中Flink History Server的日志默認存儲在HDFS集群的hdfs:///flink/flink-jobs/目錄下,YARN日志默認存儲在HDFS集群的hdfs:///tmp/logs/$USERNAME/logs/目錄下。

  • 指標監控

    如果您的自建平臺已有監控報警系統,則可以在Flink的作業配置中,配置相關的Metric Reporter即可。另外,DataFlow集群的Flink作業的指標也對接了EMR的監控報警。

  • 報警

    除了可以使用您的報警體系之外,也可以使用阿里云提供的云監控(CloudMonitor)來配置報警規則,并對接郵箱、釘釘群等提醒機制。使用云監控配置詳情,請參見創建閾值報警規則

常見問題

  • Q:JDK版本不一致,如何處理?

    A:DataFlow集群中使用的是OpenJDK,如果您在原來集群的作業中使用的是Oracle JDK,并且您的作業中使用了Oracle JDK中特有的功能時,JDK版本的不一致可能導致運行作業時部分類找不到(例如,javafx.util.Pair等)。因此,您的作業中需要避免顯式使用Oracle JDK特有的依賴。

  • Q:是否可以支持多個Flink版本?

    A:可以。DataFlow集群支持多種作業提交方式,例如YARN per-job方式、YARN Application方式等。基于Flink on YARN的部署模式,在未設置yarn.provided.lib.dirs參數的情況下,Flink作業在YARN集群中運行時所使用的Flink Runtime為提交作業的客戶端所使用的Flink(例如,開源Flink 1.13等)。因此如果您想使用特定的Flink版本運行作業,有兩種方式:

    • 直接使用Flink的特定版本進行提交,并且不設置yarn.provided.lib.dirs參數。

    • 通過指定yarn.provided.lib.dirs參數,來使用特定的Flink Runtime。另外,在該場景下,考慮到兼容性,推薦您使用YARN per-job模式進行提交。