All Products
Search
Document Center

DataWorks:Praktik terbaik untuk konfigurasi kluster EMR di DataWorks

Last Updated:Mar 27, 2026

Saat mendaftarkan kluster E-MapReduce (EMR) DataLake ke ruang kerja DataWorks dan menjalankan node EMR (EMR Hive, EMR MR, EMR Presto, EMR Spark SQL), pengaturan komponen default umumnya tidak mencukupi untuk beban kerja produksi. Topik ini mencakup rekomendasi konfigurasi memori untuk Kyuubi, Spark, dan Hadoop Distributed File System (HDFS), serta menjelaskan cara mengisolasi metadata antara lingkungan pengembangan dan produksi.

Konfigurasikan komponen EMR

Kyuubi

Di lingkungan produksi, atur parameter memori JVM berikut:

Parameter Nilai yang direkomendasikan Deskripsi
kyuubi_java_opts 10g atau lebih besar Ukuran heap untuk JVM server Kyuubi. Heap yang lebih besar mengurangi tekanan garbage collection (GC) saat beban kueri konkuren.
kyuubit_beeline_opts 2g atau lebih besar Ukuran heap untuk client Beeline. Tingkatkan nilai ini jika kueri Anda menghasilkan set hasil yang besar.

Spark

Alokasi memori default Spark bersifat konservatif. Sesuaikan parameter berikut berdasarkan ukuran kluster dan beban kerja Anda:

Parameter Ruang lingkup Deskripsi
spark.driver.memory Driver Ukuran heap untuk driver Spark. Tingkatkan jika driver menangani variabel broadcast yang besar atau mengumpulkan data dalam jumlah signifikan.
spark.driver.memoryOverhead Driver Memori off-heap yang dicadangkan untuk JVM driver. Sesuaikan berdasarkan skala kluster dan beban kerja Anda.
spark.executor.memory Executor Ukuran heap untuk setiap executor. Ini merupakan parameter utama untuk menyetel performa executor.

Teruskan parameter ini melalui spark-submit untuk menerapkannya di tingkat pekerjaan tanpa memengaruhi beban kerja lain di kluster:

spark-submit \
  --conf spark.driver.memory=4g \
  --conf spark.driver.memoryOverhead=512m \
  --conf spark.executor.memory=8g \
  ...

Untuk daftar lengkap opsi konfigurasi memori Spark, lihat Spark memory management.

Dukungan lineage data

Penting

Tidak semua tipe node EMR di DataWorks menghasilkan data lineage. Tinjau batasan berikut sebelum merancang pipeline yang bergantung pada lineage.

Tipe node Lineage tingkat tabel Lineage tingkat kolom
EMR Hive Didukung Didukung
EMR Spark Didukung (hanya Spark 2.x) Tidak didukung
EMR Spark SQL Didukung (hanya Spark 2.x) Tidak didukung
EMR MR Tidak didukung Tidak didukung
EMR Presto Tidak didukung Tidak didukung

HDFS

Memori daemon HDFS dikontrol melalui parameter berikut. Sesuaikan parameter ini berdasarkan ukuran kluster Anda—kluster yang lebih besar dengan lebih banyak node data dan beban namespace yang lebih tinggi memerlukan heap yang lebih besar:

Parameter Komponen Deskripsi
hadoop_namenode_heapsize NameNode Ukuran heap untuk JVM NameNode. Tingkatkan untuk kluster dengan jumlah file dan blok yang besar.
hadoop_datanode_heapsize DataNode Ukuran heap untuk setiap JVM DataNode.
hadoop_secondary_namenode_heapsize Secondary NameNode Ukuran heap untuk Secondary NameNode, yang menangani checkpoint periodik.
hadoop_namenode_opts NameNode Opsi JVM tambahan untuk NameNode, seperti flag penyetelan GC.

Isolasi metadata antar lingkungan

Saat ruang kerja DataWorks berjalan dalam mode standar, Anda harus mendaftarkan dua kluster EMR terpisah—satu untuk lingkungan pengembangan dan satu lagi untuk lingkungan produksi. Daftarkan keduanya pada halaman Data Sources di SettingCenter.

Untuk memenuhi persyaratan isolasi data, gunakan database ApsaraDB RDS terpisah sebagai penyimpanan metadata masing-masing kluster. Penggunaan satu database untuk kedua lingkungan berisiko menyebabkan perubahan di lingkungan pengembangan memengaruhi metadata produksi, yang bertentangan dengan prinsip isolasi lingkungan.

Untuk langkah-langkah pengaturan dan catatan penggunaan tambahan, lihat Catatan penggunaan untuk pengembangan tugas EMR di DataWorks.