Praktik terbaik Managed Service for Apache Spark untuk produksi

Dokumen ini berisi pembahasan praktik terbaik Managed Service untuk Apache Spark yang dapat membantu Anda menjalankan tugas pemrosesan data yang andal, efisien, dan penuh insight di cluster Managed Service untuk Apache Spark dalam lingkungan produksi.

Menentukan versi image cluster

Managed Service untuk Apache Spark menggunakan versi image untuk menggabungkan sistem operasi, komponen big data dan, konektor menjadi satu paket yang di-deploy di cluster. Google Cloud Jika Anda tidak menentukan versi image saat membuat cluster, Managed Service untuk Apache Spark akan menggunakan versi image stabil terbaru secara default.

Untuk lingkungan produksi, kaitkan cluster Anda dengan versi image Managed Service untuk Apache Spark major.minor tertentu, seperti yang ditunjukkan dalam perintah gcloud CLI berikut.

gcloud dataproc clusters create CLUSTER_NAME \
    --region=region \
    --image-version=2.0

Dataproc akan me-resolve versi major.minor ke versi sub-minor terbaru (2.0 di-resolve ke 2.0.x). Catatan: jika Anda memerlukan versi sub-minor tertentu untuk cluster, Anda dapat menentukannya: misalnya, --image-version=2.0.x. Baca bagian Mekanisme pembuatan versi untuk mengetahui informasi selengkapnya.

Versi image pratinjau Managed Service untuk Apache Spark

Versi minor baru dari image Managed Service untuk Apache Spark tersedia dalam versi preview sebelum dirilis di jalur versi minor image standar. Gunakan image pratinjau untuk menguji dan memvalidasi tugas terhadap versi minor image baru sebelum menerapkan versi minor image standar dalam produksi. Lihat Pembuatan versi Managed Service untuk Apache Spark untuk mengetahui informasi selengkapnya.

Menggunakan image kustom jika diperlukan

Jika Anda memiliki dependensi yang perlu ditambahkan ke cluster, seperti library Python native, atau software penguatan keamanan atau perlindungan antivirus, buat image kustom dari image terbaru di jalur versi minor image target Anda. Dengan praktik ini, Anda dapat memenuhi persyaratan dependensi saat membuat cluster menggunakan image kustom. Saat Anda membangun ulang image kustom untuk mengupdate persyaratan dependensi, gunakan versi image sub-minor terbaru yang tersedia dalam jalur image minor.

Mengirimkan tugas ke Managed Service untuk Apache Spark

Kirim tugas ke layanan Managed Service untuk Apache Spark dengan panggilan jobs.submit menggunakan gcloud CLI atau Google Cloud konsol. Tetapkan izin tugas dan cluster dengan memberikan peran Managed Service untuk Apache Spark. Gunakan peran kustom untuk memisahkan akses cluster dari izin pengiriman tugas.

Manfaat mengirimkan tugas ke Managed Service untuk Apache Spark:

  • Tidak memerlukan setelan jaringan yang rumit - API dapat dijangkau secara luas
  • Mudah mengelola izin dan peran IAM
  • Memantau status tugas dengan mudah - tidak ada metadata tugas Managed Service untuk Apache Spark yang memperumit hasil.

Dalam produksi, jalankan tugas yang hanya bergantung pada dependensi tingkat cluster pada versi image minor tetap, (misalnya, --image-version=2.0). Gabungkan dependensi dengan tugas saat tugas dikirimkan. Mengirimkan uber jar ke Spark atau MapReduce adalah cara umum untuk melakukannya.

  • Contoh: Jika sebuah jar tugas bergantung pada args4j dan spark-sql, dengan args4j khusus untuk tugas dan spark-sql sebagai dependensi tingkat cluster, gabungkan args4j dalam uber jar tugas tersebut.

Mengontrol lokasi tindakan inisialisasi

Tindakan inisialisasi memungkinkan Anda menjalankan skrip atau menginstal komponen secara otomatis saat membuat cluster Managed Service untuk Apache Spark (lihat repositori GitHub dataproc-initialization-actions untuk mengetahui tindakan inisialisasi Managed Service untuk Apache Spark umum). Saat menggunakan tindakan inisialisasi cluster di lingkungan produksi, salin skrip inisialisasi ke Cloud Storage, bukan mengambilnya dari repositori publik. Praktik ini mencegah tindakan menjalankan skrip inisialisasi yang dapat dimodifikasi orang lain.

Memantau catatan rilis Managed Service untuk Apache Spark

Managed Service untuk Apache Spark secara rutin merilis versi image sub-minor baru. Lihat atau berlangganan catatan rilis Managed Service untuk Apache Spark untuk mengetahui rilis versi image Managed Service untuk Apache Spark terbaru dan pengumuman, perubahan, serta perbaikan lainnya.

Melihat bucket staging untuk menyelidiki kegagalan

  1. Lihat bucket staging cluster Anda untuk menyelidiki pesan error cluster dan tugas. Biasanya, lokasi Cloud Storage bucket staging akan ditampilkan dalam pesan error, seperti yang ditunjukkan dalam teks berhuruf tebal di contoh pesan error berikut:

    ERROR:
    (gcloud.dataproc.clusters.create) Operation ... failed:
    ...
    - Initialization action failed. Failed action ... see output in:
    gs://dataproc-<BUCKETID>-us-central1/google-cloud-dataproc-metainfo/CLUSTERID/<CLUSTER_ID>\dataproc-initialization-script-0_output
     

  2. Gunakan gcloud CLI untuk melihat isi bucket staging:

    gcloud storage cat gs://STAGING_BUCKET
    
    Contoh output:
    + readonly RANGER_VERSION=1.2.0
    ... Ranger admin password not set. Please use metadata flag - default-password
    

Mendapatkan dukungan

Google Cloud mendukung workload OSS produksi Anda dan membantu Anda memenuhi SLA bisnis melalui tingkatan dukungan. Selain itu, Google Cloud Layanan Konsultasi dapat memberikan panduan tentang praktik terbaik untuk deployment produksi tim Anda.

Untuk informasi selengkapnya