Konfigurasi cluster Dataproc

Di Cloud Data Fusion, konfigurasi cluster mengacu pada menentukan cara pipeline pemrosesan data Anda menggunakan resource komputasi saat menjalankan tugas Spark di Dataproc. Halaman ini menjelaskan pendekatan utama untuk konfigurasi cluster.

Cluster sementara default (direkomendasikan)

Menggunakan cluster default adalah pendekatan yang direkomendasikan untuk pipeline Cloud Data Fusion.

  • Cloud Data Fusion secara otomatis menyediakan dan mengelola cluster Dataproc sementara untuk setiap eksekusi pipeline. Tindakan ini akan membuat cluster di awal proses pipeline, lalu menghapusnya setelah proses pipeline selesai.
  • Manfaat cluster sementara:
    • Kesederhanaan: Anda tidak perlu mengonfigurasi atau mengelola cluster secara manual.
    • Efisiensi biaya: Anda hanya membayar resource yang digunakan selama eksekusi pipeline.

Untuk menyesuaikan cluster dan menyesuaikan performa, lihat Penentuan ukuran cluster.

Cluster statis (untuk skenario tertentu)

Dalam skenario berikut, Anda dapat menggunakan cluster statis:

  • Pipeline yang berjalan lama: untuk pipeline yang berjalan terus-menerus atau selama jangka waktu yang lama, cluster statis dapat lebih hemat biaya daripada membuat dan menghapus cluster efemeral berulang kali.
  • Pengelolaan cluster terpusat: jika organisasi Anda memerlukan kontrol terpusat atas kebijakan pembuatan dan pengelolaan cluster, cluster statis dapat digunakan bersama alat seperti Terraform.
  • Waktu pembuatan cluster: jika waktu yang diperlukan untuk membuat cluster baru untuk setiap pipeline tidak memungkinkan untuk kasus penggunaan Anda.

Namun, cluster statis memerlukan lebih banyak konfigurasi manual dan melibatkan pengelolaan siklus proses cluster sendiri.

Untuk menggunakan cluster statis, Anda harus menetapkan properti berikut di cluster Dataproc:

dataproc:dataproc.conscrypt.provider.enable=false

Opsi konfigurasi cluster untuk cluster statis

Jika Anda memilih untuk menggunakan cluster statis, Cloud Data Fusion menawarkan opsi konfigurasi untuk aspek berikut:

  • Jenis mesin pekerja: tentukan jenis virtual machine untuk node pekerja di cluster Anda. Hal ini menentukan vCPU dan memori yang tersedia untuk setiap pekerja.
  • Number of workers: menentukan jumlah awal node pekerja di cluster Anda. Dataproc mungkin masih menskalakan otomatis jumlah ini, berdasarkan workload.
  • Zona: pilih zona Google Cloud cluster Anda. Lokasi dapat memengaruhi lokalitas data dan performa jaringan.
  • Konfigurasi tambahan: Anda dapat mengonfigurasi opsi lanjutan untuk cluster statis, seperti setelan prioritas, setelan jaringan, dan tindakan inisialisasi.

Praktik terbaik

Saat membuat cluster statis untuk pipeline, gunakan konfigurasi berikut.

Parameter Deskripsi
yarn.nodemanager.delete.debug-delay-sec Mempertahankan log YARN.
Nilai yang direkomendasikan: 86400 (setara dengan satu hari)
yarn.nodemanager.pmem-check-enabled Memungkinkan YARN memeriksa batas memori fisik dan menghentikan penampung jika melebihi memori fisik.
Nilai yang direkomendasikan: false
yarn.nodemanager.vmem-check-enabled Memungkinkan YARN memeriksa batas memori virtual dan menghentikan penampung jika melebihi memori fisik.
Nilai yang direkomendasikan: false.

Untuk mengetahui informasi selengkapnya, lihat Menjalankan pipeline pada cluster Dataproc yang ada.

Menggunakan kembali cluster

Anda dapat menggunakan kembali cluster Dataproc di antara operasi untuk meningkatkan waktu pemrosesan. Penggunaan ulang cluster diterapkan dalam model yang mirip dengan penggabungan koneksi atau penggabungan thread. Setiap cluster akan terus berjalan selama waktu yang ditentukan setelah proses selesai. Saat dijalankan, operasi baru akan mencoba menemukan cluster tidak ada aktivitas yang tersedia dan cocok dengan konfigurasi profil komputasi. Jika ada, cluster tersebut akan digunakan. Jika tidak, cluster baru akan dimulai.

Pertimbangan untuk menggunakan kembali cluster

  • Cluster tidak dibagikan. Serupa dengan model penyediaan cluster sementara reguler, cluster menjalankan satu operasi pipeline dalam satu waktu. Cluster hanya digunakan kembali jika tidak ada aktivitas.
  • Jika Anda mengaktifkan penggunaan kembali cluster untuk semua operasi, jumlah cluster yang diperlukan untuk memproses semua operasi akan dibuat sesuai kebutuhan. Serupa dengan penyedia Dataproc sementara, tidak ada kontrol langsung pada jumlah cluster yang dibuat. Anda masih dapat menggunakan kutipan Google Cloud untuk mengelola resource. Misalnya, jika Anda menjalankan 100 operasi dengan 7 operasi paralel maksimum, Anda akan memiliki hingga 7 cluster pada waktu tertentu.
  • Cluster digunakan kembali di antara pipeline yang berbeda segera setelah pipeline tersebut menggunakan profil yang sama dan memiliki setelan profil yang sama. Jika penyesuaian profil digunakan, cluster akan tetap digunakan kembali, tetapi hanya jika penyesuaian sama persis, termasuk semua setelan cluster seperti pemberian label cluster.

  • Jika penggunaan kembali cluster diaktifkan, ada dua pertimbangan biaya utama:

    • Lebih sedikit resource yang digunakan untuk pengaktifan dan inisialisasi cluster.
    • Lebih banyak resource digunakan untuk cluster agar tidak ada aktivitas di antara waktu dijalankannya pipeline dan setelah pipeline terakhir dijalankan.

Meskipun sulit untuk memprediksi dampak biaya penggunaan kembali cluster, Anda dapat menggunakan strategi untuk mendapatkan penghematan maksimum. Strateginya adalah mengidentifikasi jalur kritis untuk pipeline berantai dan memungkinkan penggunaan kembali cluster untuk jalur kritis ini. Hal ini akan memastikan cluster segera digunakan kembali, tidak ada waktu tidak ada yang terbuang, dan manfaat performa maksimum tercapai.

Mengaktifkan Penggunaan Ulang Cluster

Di bagian Compute Config pada konfigurasi pipeline yang di-deploy atau saat membuat profil komputasi baru:

  • Aktifkan Lewati Penghapusan Cluster.
  • Waktu Tidak Ada Aktivitas Maksimal adalah waktu maksimum yang ditunggu cluster untuk pipeline berikutnya menggunakannya kembali. Waktu Tidak Ada Aktivitas Maksimum default adalah 30 menit. Untuk Waktu Tidak Ada Aktivitas Maksimal, pertimbangkan biaya versus ketersediaan cluster untuk digunakan kembali. Makin tinggi nilai Waktu Tidak Ada Aktivitas Maksimal, makin banyak cluster yang tidak ada aktivitasnya, siap dijalankan.

Memecahkan masalah: Kompatibilitas versi

Masalah: Versi lingkungan Cloud Data Fusion Anda mungkin tidak kompatibel dengan versi cluster Dataproc Anda.

Direkomendasikan: Upgrade ke versi Cloud Data Fusion terbaru dan gunakan salah satu versi Dataproc yang didukung.

Cloud Data Fusion versi sebelumnya hanya kompatibel dengan versi Dataproc yang tidak didukung. Dataproc tidak menyediakan update dan dukungan untuk cluster yang dibuat dengan versi ini. Meskipun Anda dapat terus menjalankan cluster yang dibuat dengan versi yang tidak didukung, sebaiknya ganti cluster tersebut dengan cluster yang dibuat dengan versi yang didukung.

Versi Cloud Data Fusion Versi Dataproc
6.10.1.1 2.2, 2.1, 2.0 *
6,10 2.1, 2.0 *
6,9 2.1, 2.0, 1.5 *
6.7-6.8 2,0, 1,5 *
6.4-6.6 2,0 *, 1,3 **
6.1-6.3 1,3**

* Cloud Data Fusion versi 6.4 dan yang lebih baru kompatibel dengan versi Dataproc yang didukung. Kecuali jika fitur OS tertentu diperlukan, praktik yang direkomendasikan adalah menentukan versi image major.minor.
Untuk menentukan versi OS yang digunakan di cluster Dataproc, versi OS harus kompatibel dengan salah satu versi Dataproc yang didukung untuk Cloud Data Fusion Anda di tabel sebelumnya.

** Cloud Data Fusion versi 6.1 hingga 6.6 kompatibel dengan Dataproc versi 1.3 yang tidak didukung.

Memecahkan masalah: Penampung keluar dengan kode keluar 3 yang bukan nol

Masalah: Kebijakan penskalaan otomatis tidak digunakan, dan cluster Dataproc statis mengalami tekanan memori, sehingga pengecualian kehabisan memori muncul dalam log: Container exited with a non-zero exit code 3.

Direkomendasikan: Tingkatkan memori eksekutor.

Tingkatkan memori dengan menambahkan argumen runtime task.executor.system.resources.memory ke pipeline. Contoh argumen runtime berikut menetapkan memori ke 4096 MB:

"task.executor.system.resources.memory": 4096

Untuk informasi selengkapnya, lihat Penentuan ukuran cluster.

Langkah selanjutnya