1. Ringkasan
Cloud Dataproc adalah layanan Spark dan Hadoop terkelola yang memungkinkan Anda memanfaatkan alat data open source untuk batch processing, pembuatan kueri, streaming, dan machine learning. Otomatisasi Cloud Dataproc membantu Anda membuat cluster dengan cepat, mengelolanya dengan mudah, dan menghemat uang dengan menonaktifkan cluster saat Anda tidak membutuhkannya. Karena lebih sedikit waktu dan uang yang dihabiskan untuk tugas administrasi, Anda dapat berfokus pada pekerjaan dan data Anda.
Tutorial ini diadaptasi dari https://cloud.google.com/dataproc/overview
Yang akan Anda pelajari
- Cara membuat cluster Cloud Dataproc terkelola (dengan Apache Spark yang diinstal sebelumnya).
- Cara mengirimkan tugas Spark
- Cara mengubah ukuran cluster
- Cara menjalankan ssh ke node master cluster Dataproc
- Cara menggunakan gcloud untuk memeriksa cluster, tugas, dan aturan firewall
- Cara mematikan cluster
Yang Anda butuhkan
Bagaimana Anda akan menggunakan tutorial ini?
Bagaimana penilaian Anda terhadap pengalaman menggunakan layanan Google Cloud Platform?
2. Penyiapan dan Persyaratan
Penyiapan lingkungan mandiri
- Login ke Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. (Jika belum memiliki akun Gmail atau G Suite, Anda harus membuatnya.)
Ingat project ID, nama unik di semua project Google Cloud (maaf, nama di atas telah digunakan dan tidak akan berfungsi untuk Anda!) Project ID tersebut selanjutnya akan dirujuk di codelab ini sebagai PROJECT_ID
.
- Selanjutnya, Anda harus mengaktifkan penagihan di Cloud Console untuk menggunakan resource Google Cloud.
Menjalankan operasi dalam codelab ini seharusnya tidak memerlukan banyak biaya, bahkan mungkin tidak sama sekali. Pastikan untuk mengikuti petunjuk yang ada di bagian "Membersihkan" yang memberi tahu Anda cara menonaktifkan resource sehingga tidak menimbulkan penagihan di luar tutorial ini. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.
3. Mengaktifkan Cloud Dataproc dan Google Compute Engine API
Klik ikon menu di kiri atas layar.
Pilih Pengelola API dari menu drop-down.
Klik Enable APIs and Services.
Telusuri "Compute Engine" di kotak penelusuran. Klik "Google Compute Engine API" di daftar hasil yang muncul.
Di halaman Google Compute Engine, klik Enable
Setelah diaktifkan, klik tanda panah yang menunjuk ke kiri untuk kembali.
Sekarang telusuri "Google Cloud Dataproc API" dan mengaktifkannya juga.
4. Mulai Cloud Shell
Mesin virtual berbasis Debian ini memuat semua alat pengembangan yang akan Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Ini berarti bahwa semua yang Anda perlukan untuk codelab ini adalah browser (ya, ini berfungsi di Chromebook).
- Untuk mengaktifkan Cloud Shell dari Cloud Console, cukup klik Aktifkan Cloud Shell (hanya perlu beberapa saat untuk melakukan penyediaan dan terhubung ke lingkungan).
Setelah terhubung ke Cloud Shell, Anda akan melihat bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke PROJECT_ID
.
gcloud auth list
Output perintah
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
Output perintah
[core] project = <PROJECT_ID>
Jika, untuk beberapa alasan, project belum disetel, cukup jalankan perintah berikut:
gcloud config set project <PROJECT_ID>
Mencari PROJECT_ID
Anda? Periksa ID yang Anda gunakan di langkah-langkah penyiapan atau cari di dasbor Cloud Console:
Cloud Shell juga menetapkan beberapa variabel lingkungan secara default, yang mungkin berguna saat Anda menjalankan perintah di masa mendatang.
echo $GOOGLE_CLOUD_PROJECT
Output perintah
<PROJECT_ID>
- Terakhir, tetapkan zona dan konfigurasi project default.
gcloud config set compute/zone us-central1-f
Anda dapat memilih berbagai zona yang berbeda. Untuk informasi selengkapnya, lihat Region & Zona.
5. Buat cluster Cloud Dataproc
Setelah Cloud Shell diluncurkan, Anda dapat menggunakan command line untuk memanggil perintah gcloud Cloud SDK atau alat lain yang tersedia di instance virtual machine.
Pilih nama cluster yang akan digunakan di lab ini:
$ CLUSTERNAME=${USER}-dplab
Mari mulai membuat cluster baru:
$ gcloud dataproc clusters create ${CLUSTERNAME} \
--region=us-central1 \
--scopes=cloud-platform \
--tags codelab \
--zone=us-central1-c
Setelan cluster default, yang mencakup node dua pekerja, seharusnya cukup untuk tutorial ini. Perintah di atas menyertakan opsi --zone
untuk menentukan zona geografis tempat cluster akan dibuat, serta dua opsi lanjutan, --scopes
dan --tags
, yang dijelaskan di bawah saat Anda menggunakan fitur yang diaktifkannya. Lihat perintah gcloud dataproc clusters create
Cloud SDK untuk mengetahui informasi tentang cara menggunakan flag command line untuk menyesuaikan setelan cluster.
6. Mengirim tugas Spark ke cluster Anda
Anda dapat mengirimkan tugas melalui permintaan jobs.submit
Cloud Dataproc API, menggunakan alat command line gcloud
, atau dari Konsol Google Cloud Platform. Anda juga dapat terhubung ke instance mesin di cluster Anda menggunakan SSH, lalu menjalankan tugas dari instance.
Mari kita kirimkan tugas menggunakan alat gcloud
dari command line Cloud Shell:
$ gcloud dataproc jobs submit spark --cluster ${CLUSTERNAME} \
--class org.apache.spark.examples.SparkPi \
--jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000
Saat tugas berjalan, Anda akan melihat output di jendela Cloud Shell.
Interupsi {i>output<i} dengan memasukkan Control-C. Tindakan ini akan menghentikan perintah gcloud
, tetapi tugas akan tetap berjalan di cluster Dataproc.
7. Membuat Daftar Tugas dan Menghubungkan Kembali
Mencetak daftar tugas:
$ gcloud dataproc jobs list --cluster ${CLUSTERNAME}
Lowongan yang terakhir dikirim ada di bagian atas daftar. Salin ID tugas dan tempelkan di tempat "jobId
" pada perintah di bawah ini. Perintah tersebut akan terhubung kembali ke tugas yang ditentukan dan menampilkan output-nya:
$ gcloud dataproc jobs wait jobId
Ketika tugas selesai, output akan menyertakan perkiraan nilai Pi.
8. Ubah Ukuran Cluster
Untuk menjalankan komputasi yang lebih besar, Anda mungkin perlu menambahkan lebih banyak node ke cluster untuk mempercepatnya. Dataproc memungkinkan Anda menambahkan node ke dan menghapus node dari cluster Anda kapan saja.
Periksa konfigurasi cluster:
$ gcloud dataproc clusters describe ${CLUSTERNAME}
Perbesar cluster dengan menambahkan beberapa node yang dapat dihentikan:
$ gcloud dataproc clusters update ${CLUSTERNAME} --num-secondary-workers=2
Periksa kembali cluster:
$ gcloud dataproc clusters describe ${CLUSTERNAME}
Perlu diperhatikan bahwa selain workerConfig
dari deskripsi cluster asli, sekarang ada juga secondaryWorkerConfig
yang menyertakan dua instanceNames
untuk pekerja preemptible. Dataproc akan menampilkan status cluster sebagai siap saat node baru melakukan booting.
Karena Anda memulai dengan dua node dan sekarang memiliki empat node, tugas Spark Anda akan berjalan dua kali lebih cepat.
9. SSH ke Cluster
Hubungkan melalui ssh ke node master, yang nama instance-nya selalu berupa nama cluster dengan tambahan -m
:
$ gcloud compute ssh ${CLUSTERNAME}-m --zone=us-central1-c
Saat pertama kali menjalankan perintah ssh di Cloud Shell, perintah tersebut akan menghasilkan kunci ssh untuk akun Anda di sana. Anda dapat memilih frasa sandi, atau menggunakan frasa sandi kosong untuk saat ini dan mengubahnya nanti menggunakan ssh-keygen
jika mau.
Pada instance, periksa nama host:
$ hostname
Karena Anda menentukan --scopes=cloud-platform
saat membuat cluster, Anda dapat menjalankan perintah gcloud
di cluster Anda. Buat daftar cluster dalam project Anda:
$ gcloud dataproc clusters list
Logout dari koneksi SSH setelah selesai:
$ logout
10. Memeriksa tag
Saat membuat cluster, Anda menyertakan opsi --tags
untuk menambahkan tag ke setiap node dalam cluster. Tag digunakan untuk melampirkan aturan firewall ke setiap node. Anda tidak membuat aturan firewall yang cocok dalam codelab ini, tetapi Anda masih dapat memeriksa tag pada node dan aturan firewall di jaringan.
Cetak deskripsi node master:
$ gcloud compute instances describe ${CLUSTERNAME}-m --zone us-central1-c
Cari tags:
di dekat akhir output dan lihat apakah itu menyertakan codelab
.
Cetak aturan firewall:
$ gcloud compute firewall-rules list
Perhatikan kolom SRC_TAGS
dan TARGET_TAGS
. Dengan melampirkan tag ke aturan firewall, Anda dapat menentukan bahwa tag tersebut harus digunakan di semua node yang memiliki tag tersebut.
11. Mematikan cluster Anda
Anda dapat mematikan cluster melalui permintaan clusters.delete
Cloud Dataproc API, dari command line menggunakan gcloud dataproc clusters delete
yang dapat dieksekusi, atau dari Google Cloud Platform Console.
Mari kita matikan cluster menggunakan command line Cloud Shell:
$ gcloud dataproc clusters delete ${CLUSTERNAME} --region us-central1
12. Selamat!
Anda telah mempelajari cara membuat cluster Dataproc, mengirim tugas Spark, mengubah ukuran cluster, menggunakan ssh untuk login ke node master, menggunakan gcloud untuk memeriksa cluster, tugas, dan aturan firewall, serta mematikan cluster menggunakan gcloud.
Pelajari Lebih Lanjut
- Dokumentasi Dataproc: https://cloud.google.com/dataproc/overview
- Codelab Memulai Dataproc menggunakan Konsol
Lisensi
Karya ini dilisensikan berdasarkan Lisensi Generik Creative Commons Attribution 3.0 dan Apache 2.0.