Alur kerja menggunakan Cloud Scheduler

Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:

  • Dataproc
  • Compute Engine
  • Cloud Scheduler

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna baru Google Cloud mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Sebelum memulai

Menyiapkan project

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.

    Enable the APIs

  5. Menginstal Google Cloud CLI.
  6. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  7. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  8. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  9. Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.

    Enable the APIs

  10. Menginstal Google Cloud CLI.
  11. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init

Membuat peran khusus

  1. Buka halaman Buka IAM & Admin → Peran di Konsol Google Cloud.
    1. Klik CREATE ROLE untuk membuka halaman Buat Peran.
    2. Lengkapi kolom Judul, Deskripsi, ID, Tahap peluncuran. Saran: Gunakan "Dataproc Workflow Template Create" sebagai judul peran.
    3. Klik ADD PERMISSIONS,
      1. Dalam formulir Add Permissions, klik Filter, lalu pilih "Permission". Selesaikan filter untuk membaca "Permission: dataproc.workflowTemplates.instantiate".
      2. Klik kotak centang di sebelah kiri izin yang tercantum, lalu klik ADD.
    4. Pada halaman Create Role, klik ADD PERMISSIONS lagi untuk mengulangi sub-langkah sebelumnya untuk menambahkan izin "iam.serviceAccounts.actAs" ke peran khusus. Halaman Buat Peran sekarang mencantumkan dua izin.
    5. Klik BUAT di halaman Peran Khusus. Peran khusus tercantum di halaman Peran.

Membuat akun layanan

  1. Di konsol Google Cloud, buka halaman Akun Layanan.

    Buka Akun Layanan

  2. Pilih project Anda.

  3. Klik Create Service Account.

  4. Di kolom Service account name, masukkan nama workflow-scheduler. Konsol Google Cloud mengisi kolom Service account ID berdasarkan nama ini.

  5. Opsional: Di kolom Deskripsi akun layanan, masukkan deskripsi akun layanan.

  6. Klik Buat dan lanjutkan.

  7. Klik kolom Select a role dan pilih peran kustom Dataproc Workflow Template Create yang Anda buat di langkah sebelumnya.

  8. Klik Lanjutkan.

  9. Di kolom Service accountadmins role, masukkan alamat email Akun Google Anda.

  10. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

Buat template alur kerja.

Salin dan jalankan perintah yang tercantum di bawah di jendela terminal lokal atau di Cloud Shell untuk membuat dan menentukan template alur kerja.

Catatan:

  • Perintah tersebut menentukan region "us-central1". Anda dapat menentukan wilayah yang berbeda atau menghapus tanda --region jika sebelumnya telah menjalankan gcloud config set compute/region untuk menetapkan properti wilayah.
  • Urutan "-- " (spasi tanda pisah) dalam perintah add-job meneruskan argumen 1000 ke tugas SparkPi, yang menentukan jumlah sampel yang akan digunakan untuk memperkirakan nilai Pi.

  1. Buat template alur kerja.

    gcloud dataproc workflow-templates create sparkpi \
        --region=us-central1
    
  2. Tambahkan tugas spark ke template alur kerja sparkpi. ID langkah "compute" diperlukan, dan mengidentifikasi tugas SparkPi yang ditambahkan.
    gcloud dataproc workflow-templates add-job spark \
        --workflow-template=sparkpi \
        --step-id=compute \
        --class=org.apache.spark.examples.SparkPi \
        --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \
        --region=us-central1 \
        -- 1000
    

  3. Gunakan cluster node tunggal terkelola untuk menjalankan alur kerja. Dataproc akan membuat cluster, menjalankan alur kerja di dalamnya, lalu menghapus cluster saat alur kerja selesai.

    gcloud dataproc workflow-templates set-managed-cluster sparkpi \
        --cluster-name=sparkpi \
        --single-node \
        --region=us-central1
    

  4. Klik nama sparkpi di halaman Workflows Dataproc di konsol Google Cloud untuk membuka halaman Workflow template details. Konfirmasi atribut template sparkpi.

Buat tugas Cloud Scheduler

  1. Buka halaman Cloud Scheduler di Konsol Google Cloud (Anda mungkin perlu memilih project untuk membuka halaman tersebut). Klik CREATE TUGAS.

  2. Masukkan atau pilih informasi pekerjaan berikut:

    1. Pilih region: "us-central" atau region lain tempat Anda membuat template alur kerja.
    2. Nama: "sparkpi"
    3. Frekuensi: "* * * * *" memilih setiap menit; "0 9 * * 1" memilih setiap Senin pukul 09.00. Lihat Menentukan Jadwal Tugas untuk nilai unix-cron lainnya. Catatan: Anda dapat mengklik tombol JALANKAN SEKARANG pada Tugas Cloud Scheduler di konsol Google Cloud untuk menjalankan dan menguji tugas Anda, terlepas dari frekuensi yang ditetapkan untuk tugas Anda.
    4. Zona waktu: Pilih timezone Anda. Ketik "United States" untuk mencantumkan zona waktu AS.
    5. Target: "HTTP"
    6. URL: Sisipkan URL berikut setelah menyisipkan your-project-id. Ganti "us-central1" jika Anda membuat template alur kerja di region berbeda. URL ini akan memanggil workflowTemplates.instantiate API Dataproc untuk menjalankan template alur kerja sparkpi.
      https://dataproc.googleapis.com/v1/projects/your-project-id/regions/us-central1/workflowTemplates/sparkpi:instantiate?alt=json
      
    7. Metode HTTP:
      1. "POST"
      2. Body: "{}"
    8. Header Auth:
      1. "Tambahkan token OAuth"
      2. Akun layanan: Masukkan service account address akun layanan yang Anda buat untuk tutorial ini. Anda dapat menggunakan alamat akun berikut setelah menyisipkan your-project-id:
        workflow-scheduler@your-project-id.iam.gserviceaccount
        
      3. Cakupan: Anda dapat mengabaikan item ini.
    9. Klik CREATE.

Menguji tugas alur kerja terjadwal Anda

  1. Pada baris tugas sparkpi di halaman Tugas Cloud Scheduler, klik JALANKAN SEKARANG.

  2. Tunggu beberapa menit, lalu buka halaman Workflows Dataproc untuk memverifikasi bahwa alur kerja sparkpi sudah selesai.

  3. Setelah alur kerja menghapus cluster terkelola, detail tugas akan disimpan di Google Cloud Console. Klik tugas compute... yang tercantum di halaman Tugas Dataproc untuk melihat detail tugas alur kerja.

Pembersihan

Alur kerja dalam tutorial ini menghapus cluster terkelolanya saat alur kerja selesai. Dengan mempertahankan alur kerja, Anda dapat menjalankan kembali alur kerja dan tidak dikenai biaya. Anda dapat menghapus resource lain yang dibuat dalam tutorial ini untuk menghindari biaya berulang.

Menghapus project

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Menghapus template alur kerja Anda

gcloud dataproc workflow-templates delete sparkpi \
    --region=us-central1

Menghapus tugas Cloud Schedule Anda

Buka halaman Tugas Cloud Scheduler di Konsol Google Cloud, pilih kotak di sebelah kiri fungsi sparkpi, lalu klik HAPUS.

Menghapus akun layanan Anda

Buka halaman IAM & Admin → Service Accounts di Konsol Google Cloud, pilih kotak di sebelah kiri akun layanan workflow-scheduler..., lalu klik DELETE.

Langkah selanjutnya