Praktik terbaik Dataproc untuk produksi

Dokumen ini membahas praktik terbaik Dataproc yang dapat membantu Anda menjalankan tugas pemrosesan data yang andal, efisien, dan penuh insight di cluster Dataproc dalam lingkungan produksi.

Menentukan versi gambar cluster

Dataproc menggunakan versi image untuk memaketkan sistem operasi, komponen big data, dan konektor Google Cloud ke dalam sebuah paket yang di-deploy pada cluster. Jika Anda tidak menentukan versi image saat membuat cluster, Dataproc akan ditetapkan secara default ke versi image stabil terbaru.

Untuk lingkungan produksi, kaitkan cluster Anda dengan versi image Dataproc major.minor spesifik, seperti yang ditunjukkan dalam perintah gcloud CLI berikut.

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

Dataproc me-resolve versi major.minor ke versi sub-minor terbaru (2.0 diselesaikan ke 2.0.x). Catatan: jika Anda perlu mengandalkan versi sub-minor tertentu untuk cluster, Anda dapat menentukannya: misalnya, --image-version=2.0.x. Lihat Cara kerja pembuatan versi untuk informasi selengkapnya.

Versi gambar pratinjau Dataproc

Image Dataproc versi minor baru tersedia di versi preview sebelum dirilis di jalur versi image minor standar. Gunakan gambar pratinjau untuk menguji dan memvalidasi tugas Anda terhadap versi gambar minor baru sebelum mengadopsi versi gambar minor standar dalam produksi. Lihat Pembuatan versi Dataproc untuk mengetahui informasi selengkapnya.

Gunakan gambar kustom jika diperlukan

Jika Anda memiliki dependensi untuk ditambahkan ke cluster, seperti library Python native, atau software hardening keamanan atau perlindungan virus, buat image kustom dari image terbaru di jalur versi image minor target Anda. Praktik ini memungkinkan Anda memenuhi persyaratan dependensi saat membuat cluster menggunakan image kustom Anda. Saat Anda mem-build ulang image kustom untuk memperbarui persyaratan dependensi, gunakan versi image sub-minor terbaru yang tersedia dalam jalur gambar minor.

Mengirim tugas ke layanan Dataproc

Kirim tugas ke layanan Dataproc dengan panggilan jobs.submit menggunakan gcloud CLI atau Google Cloud Console. Tetapkan izin tugas dan cluster dengan memberikan peran Dataproc. Gunakan peran khusus untuk memisahkan akses cluster dari izin pengiriman tugas.

Manfaat mengirimkan tugas ke layanan Dataproc:

  • Tidak perlu setelan jaringan yang rumit - API ini dapat dijangkau secara luas
  • Izin dan peran IAM yang mudah dikelola
  • Lacak status tugas dengan mudah - tidak ada metadata tugas Dataproc yang akan mempersulit hasilnya.

Dalam produksi, jalankan tugas yang hanya bergantung pada dependensi level cluster pada versi image minor yang 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 jar tugas bergantung pada args4j dan spark-sql, dengan args4j khusus untuk tugas tersebut dan spark-sql sebagai dependensi tingkat cluster, gabungkan args4j dalam uber jar tugas.

Mengontrol lokasi tindakan inisialisasi

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

Memantau catatan rilis Dataproc

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

Melihat bucket staging untuk menyelidiki kegagalan

  1. Lihat bucket staging cluster Anda untuk menyelidiki pesan error tugas dan cluster. Biasanya, lokasi Cloud Storage bucket staging ditampilkan dalam pesan error, seperti ditunjukkan dalam teks tebal dalam 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 gsutil untuk melihat konten bucket staging:

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

Dapatkan dukungan

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

Untuk informasi selengkapnya