全部產品
Search
文件中心

DataWorks:DataWorks on EMR叢集配置最佳實務

更新時間:Jun 26, 2024

DataWorks支援註冊EMR(E-MapReduce)的DataLake(新版資料湖)叢集為EMR計算引擎,建立Hive、MR、Presto和Spark SQL等節點,實現EMR任務工作流程的配置、定時調度和中繼資料管理等功能,協助EMR使用者更好地產出資料。本文為您介紹在DataWorks上運行EMR任務時所使用DataLake叢集的最優配置。

背景資訊

  • 在DataWorks運行EMR任務時可選擇多種EMR組件,不同組件運行任務時的最優配置存在差異,您可根據實際情況選擇。詳情請參見EMR組件配置

  • 在DataWorks運行EMR任務時,可根據所選DataWorks工作空間的模式,選擇不同的中繼資料存放區,詳情請參見中繼資料存放區選擇

使用DataLake(新版資料湖)叢集在DataWorks上進行EMR作業的注意事項及開發流程,詳情請參見DataWorks On EMR開發流程(必讀)

EMR組件配置

  • Kyuubi組件

    在生產環境配置Kyuubi組件時,建議將kyuubi_java_opts記憶體大小調整至10g及以上;將kyuubit_beeline_opts記憶體大小調整至2g及以上。

  • Spark組件

    • 由於Spark組件記憶體預設值較小,您可在spark-submit命令列中添加設定記憶體大小的命令,修改記憶體預設值為合適大小。

    • 您可根據所使用的EMR叢集規模情況調整Spark組件以下配置項:spark.driver.memoryspark.driver.memoryOverheadspark.executor.memory至合適大小。

    重要
    • 僅DataWorks的EMR Hive、EMR Spark及EMR Spark SQL節點支援血緣功能。其中,EMR Hive節點支援表及列血緣,Spark類型節點僅支援表血緣。

    • 針對Spark組件,僅Spark 2.x版本支援血緣功能,Spark 3.x版本不支援。

    更多Spark組件的配置詳情,請參見Spark Memory Management

  • HDFS

    您可根據所使用的EMR叢集規模情況調整HDFS的以下配置項:hadoop_namenode_heapsizehadoop_datanode_heapsizehadoop_secondary_namenode_heapsizehadoop_namenode_opts至合適大小。

中繼資料存放區選擇

若要實現DataWorks標準模式工作空間的開發環境與生產環境隔離機制,您需在DataWorks管理中心 > 開源叢集配置處,為開發環境和生產環境註冊兩個不同的EMR叢集。同時,為滿足資料隔離要求,兩個叢集的中繼資料需使用如下方式儲存:

  • 方式一(資料湖方案推薦):使用資料湖構建DLF(Data Lake Formation)的兩個不同資料目錄Catalog儲存。

  • 方式二:使用阿里雲關係型資料庫RDS(Relational Database Service)的兩個不同資料庫DataBase儲存。