Alur kerja menggunakan Cloud Scheduler

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

  • Dataproc
  • Compute Engine
  • Cloud Scheduler

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis. Google Cloud

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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Instal Google Cloud CLI.

  6. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  7. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Instal Google Cloud CLI.

  12. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  13. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init

Membuat peran khusus

  1. Buka halaman IAM & Admin → Roles di Google Cloud konsol.
    1. Klik CREATE ROLE untuk membuka halaman Create Role.
    2. Isi kolom Title, Description, ID, Launch stage. Saran: Gunakan "Dataproc Workflow Template Create" sebagai judul peran.
    3. Klik ADD PERMISSIONS,
      1. Di formulir Add permissions, klik Filter, lalu pilih "Permission". Lengkapi filter untuk membaca "Permission: dataproc.workflowTemplates.instantiate".
      2. Klik kotak centang di sebelah kiri izin yang tercantum, lalu klik Add.
    4. Di halaman Create Role, klik ADD PERMISSIONS lagi untuk mengulangi sub-langkah sebelumnya guna menambahkan izin "iam.serviceAccounts.actAs" ke peran khusus. Halaman Create Role kini mencantumkan dua izin.
    5. Klik CREATE di halaman Custom Role. Peran khusus tercantum di halaman Roles.

Membuat akun layanan

  1. Di Google Cloud konsol, buka halaman Service Accounts.

    Buka Akun Layanan

  2. Pilih project Anda.

  3. Klik Create Service Account.

  4. Di kolom Nama akun layanan, masukkan nama workflow-scheduler. Konsol akan mengisi kolom ID akun layanan berdasarkan nama ini. Google Cloud

  5. Opsional: Di kolom Service account description, masukkan deskripsi akun layanan.

  6. Klik Create and continue.

  7. Klik kolom Select a role , lalu pilih peran khusus Dataproc Workflow Template Create yang Anda buat pada langkah sebelumnya.

  8. Klik Continue.

  9. Di kolom Peran admin akun layanan, masukkan alamat email Akun Google Anda.

  10. Klik Done untuk menyelesaikan pembuatan akun layanan.

Membuat 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 menentukan "us-central1" region. Anda dapat menentukan region lain atau menghapus flag --region jika sebelumnya telah menjalankan gcloud config set compute/region untuk menetapkan properti region.
  • Urutan "-- " (dash dash space) 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 yang dikelola untuk menjalankan alur kerja. Managed Service untuk Apache Spark akan membuat cluster, menjalankan alur kerja di cluster tersebut, 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 Managed Service untuk Apache Spark di konsol untuk membuka halaman Workflow template details. Google Cloud Konfirmasi atribut template sparkpi.

Membuat tugas Cloud Scheduler

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

  2. Masukkan atau pilih informasi tugas berikut:

    1. Select a region: "us-central" atau region lain tempat Anda membuat template alur kerja.
    2. Name: "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 RUN NOW di Jobs Cloud Scheduler di Google Cloud konsol untuk menjalankan dan menguji tugas Anda, terlepas dari frekuensi yang Anda tetapkan untuk tugas Anda.
    4. Zona waktu: Pilih timezone. 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 lain. URL ini akan memanggil Managed Service untuk Apache Spark workflowTemplates.instantiate API untuk menjalankan template alur kerja sparkpi Anda.
      https://dataproc.googleapis.com/v1/projects/your-project-id/regions/us-central1/workflowTemplates/sparkpi:instantiate?alt=json
      
    7. HTTP method:
      1. "POST"
      2. Body: "{}"
    8. Auth header:
      1. "Add OAuth token"
      2. Akun layanan: Sisipkan service account address dari 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.com
        
      3. Scope: Anda dapat mengabaikan item ini.
    9. Klik CREATE.

Menguji tugas alur kerja terjadwal

  1. Di baris tugas sparkpi di Cloud Scheduler Jobs page, klik RUN NOW.

  2. Tunggu beberapa menit, lalu buka halaman Workflows Managed Service untuk Apache Spark untuk memverifikasi bahwa alur kerja sparkpi telah selesai.

  3. Setelah alur kerja menghapus cluster yang dikelola, detail tugas akan tetap ada di Google Cloud konsol. Klik tugas compute... yang tercantum di halaman Managed Service untuk Apache Spark Jobs untuk melihat detail tugas alur kerja.

Pembersihan

Alur kerja dalam tutorial ini menghapus cluster yang dikelolanya saat alur kerja selesai. Dengan menyimpan 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 Google Cloud konsol, buka halaman Manage resources.

    Buka Kelola resource

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

Menghapus template alur kerja

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

Menghapus tugas Cloud Scheduler

Buka halaman Cloud Scheduler Jobs di Google Cloud konsol, centang kotak di sebelah kiri fungsi sparkpi, lalu klik DELETE.

Menghapus akun layanan

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

Langkah berikutnya