Menskalakan lingkungan

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan cara menskalakan lingkungan Cloud Composer.

Halaman lain tentang penskalaan:

Menskalakan secara vertikal dan horizontal

Opsi untuk penskalaan horizontal:

  • Menyesuaikan jumlah minimum dan maksimum pekerja.
  • Sesuaikan jumlah penjadwal, pemroses DAG, dan pemicu.

Opsi untuk penskalaan vertikal:

  • Sesuaikan pekerja, penjadwal, pemicu, pemroses DAG, dan server web, serta parameter skala dan performa.
  • Sesuaikan ukuran lingkungan.

Batas resource

Komponen Jumlah minimum Jumlah maksimum vCPU minimum vCPU maksimum Langkah minimum vCPU Memori minimum (GB) Memori maksimum (GB) Langkah minimum memori (GB) Memori minimum per 1 vCPU (GB) Memori maksimum per 1 vCPU (GB) Penyimpanan minimum (GB) Penyimpanan maksimum (GB) Langkah minimum penyimpanan (GB)
Scheduler 1 3 0,5 1 0,5 0,5 8 0,25 1 8 0 100 1
Pemicu 0 10 0,5 1 0,5 0,5 8 0,25 1 8 - - -
Server web - - 0,5 32 0,5, 1, atau kelipatan 2 1 256 0,25 1 8 0 100 1
Pekerja 1 100 0,5 32 0,5, 1, atau kelipatan 2 1 256 0,25 1 8 0 100 1
Prosesor DAG 1 3 0,5 32 0,5, 1, atau kelipatan 2 1 256 0,25 1 8 0 100 1

Menyesuaikan parameter pekerja

Anda dapat menetapkan jumlah minimum dan maksimum pekerja untuk lingkungan Anda. Cloud Composer otomatis menskalakan lingkungan Anda sesuai batas yang ditetapkan. Anda dapat menyesuaikan batas ini kapan saja.

Anda dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh pekerja Airflow di lingkungan Anda. Dengan cara ini, Anda dapat meningkatkan performa lingkungan, selain penskalaan horizontal yang disediakan dengan menggunakan beberapa pekerja.

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk pekerja Airflow:

    • Di kolom Minimum number of worker, tentukan jumlah pekerja Airflow yang harus selalu dijalankan oleh lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak akan jumlahnya di bawah jumlah ini, meskipun jumlah pekerja yang dapat menangani beban lebih rendah.

    • Di kolom Maximum number of worker, tentukan jumlah maksimum worker Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun jumlah pekerja yang lebih tinggi diperlukan untuk menangani beban.

    • Di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk pekerja Airflow. Setiap pekerja menggunakan jumlah resource yang ditentukan.

  6. Klik Simpan.

gcloud

Tersedia parameter pekerja Airflow berikut:

  • --min-workers: jumlah pekerja Airflow yang harus selalu dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak akan kurang dari jumlah ini, meskipun jumlah pekerja yang dapat menangani beban lebih sedikit.
  • --max-workers: jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun diperlukan lebih banyak pekerja untuk menangani beban.
  • --worker-cpu: jumlah CPU untuk pekerja Airflow.
  • --worker-memory: jumlah memori untuk pekerja Airflow.
  • --worker-storage: jumlah kapasitas disk untuk pekerja Airflow.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX \
  --worker-cpu WORKER_CPU \
  --worker-memory WORKER_MEMORY \
  --worker-storage WORKER_STORAGE

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • WORKERS_MIN: jumlah minimum pekerja Airflow.
  • WORKERS_MAX: jumlah maksimum pekerja Airflow.
  • WORKER_CPU: jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY: jumlah memori untuk pekerja.
  • WORKER_STORAGE: ukuran disk untuk pekerja.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6 \
  --worker-cpu 1 \
  --worker-memory 2 \
  --worker-storage 2

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Di parameter updateMask, tentukan kolom yang ingin diperbarui. Misalnya, untuk memperbarui semua parameter bagi pekerja, tentukan mask config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. Dalam isi permintaan, tentukan parameter pekerja baru.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX,
      "cpu": WORKER_CPU,
      "memoryGb": WORKER_MEMORY,
      "storageGb": WORKER_STORAGE
    }
  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • WORKERS_MIN: jumlah minimum pekerja Airflow.
  • WORKERS_MAX: jumlah maksimum pekerja Airflow.
  • WORKER_CPU: jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY: jumlah memori untuk pekerja, dalam GB.
  • WORKER_STORAGE: ukuran disk untuk pekerja, dalam GB.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.worker.minCount,
// config.workloadsConfig.worker.maxCount
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGB

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": 2,
      "maxCount": 6,
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

Kolom berikut dalam blok workloads_config.worker mengontrol parameter pekerja Airflow. Setiap pekerja menggunakan jumlah resource yang ditentukan.

  • worker.min_count: jumlah pekerja Airflow yang harus selalu dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak akan kurang dari jumlah ini, meskipun jumlah pekerja yang dapat menangani beban lebih sedikit.
  • worker.max_count: jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun diperlukan lebih banyak pekerja untuk menangani beban.
  • worker.cpu: jumlah CPU untuk pekerja Airflow.
  • worker.memory_gb: jumlah memori untuk pekerja Airflow.
  • worker.storage_gb: jumlah kapasitas disk untuk pekerja Airflow.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      worker {
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • WORKERS_MIN: jumlah minimum pekerja Airflow.
  • WORKERS_MAX: jumlah maksimum pekerja Airflow.
  • WORKER_CPU: jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY: jumlah memori untuk pekerja, dalam GB.
  • WORKER_STORAGE: ukuran disk untuk pekerja, dalam GB.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      worker {
        min_count = 2
        max_count = 6
        cpu = 1
        memory_gb = 2
        storage_gb = 2
      }
    }

  }
}

Menyesuaikan parameter penjadwal

Lingkungan Anda dapat menjalankan lebih dari satu penjadwal Airflow secara bersamaan. Gunakan beberapa penjadwal untuk mendistribusikan beban di antara beberapa instance penjadwal untuk performa dan keandalan yang lebih baik.

Anda dapat memiliki hingga 3 penjadwal di lingkungan Anda.

Meningkatkan jumlah penjadwal tidak selalu meningkatkan performa Airflow. Misalnya, hanya memiliki satu penjadwal mungkin memberikan performa yang lebih baik daripada memiliki dua penjadwal. Hal ini dapat terjadi jika penjadwal tambahan tidak digunakan, sehingga menghabiskan resource lingkungan Anda tanpa berkontribusi terhadap keseluruhan performa. Performa penjadwal yang sebenarnya bergantung pada jumlah pekerja Airflow, jumlah DAG dan tugas yang berjalan di lingkungan Anda, serta konfigurasi Airflow dan lingkungan.

Sebaiknya mulai dengan dua penjadwal, lalu pantau performa lingkungan Anda. Jika mengubah jumlah penjadwal, Anda selalu dapat menskalakan lingkungan kembali ke jumlah penjadwal asli.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi beberapa penjadwal, lihat dokumentasi Airflow.

Anda dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh scheduler Airflow di lingkungan Anda. Dengan cara ini, Anda dapat meningkatkan performa lingkungan, selain penskalaan horizontal yang disediakan dengan menggunakan beberapa penjadwal.

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk scheduler Airflow:

    • Di menu drop-down Number of scheduler, pilih jumlah penjadwal untuk lingkungan Anda.

    • Di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk penjadwal Airflow. Setiap penjadwal menggunakan jumlah resource yang ditentukan.

  6. Klik Simpan.

gcloud

Tersedia parameter penjadwal Airflow berikut:

  • --scheduler-count: jumlah penjadwal di lingkungan Anda.

  • --scheduler-cpu: jumlah CPU untuk penjadwal Airflow.

  • --scheduler-memory: jumlah memori untuk penjadwal Airflow.

  • --scheduler-storage: jumlah kapasitas disk untuk penjadwal Airflow.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-cpu SCHEDULER_CPU \
  --scheduler-memory SCHEDULER_MEMORY \
  --scheduler-storage SCHEDULER_STORAGE \
  --scheduler-count SCHEDULER_COUNT

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.

  • SCHEDULER_CPU: jumlah CPU untuk penjadwal, dalam unit vCPU.

  • SCHEDULER_MEMORY: jumlah memori untuk penjadwal.

  • SCHEDULER_STORAGE: ukuran disk untuk penjadwal.

  • SCHEDULER_COUNT: jumlah penjadwal.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-cpu 0.5 \
  --scheduler-memory 2.5 \
  --scheduler-storage 2 \
  --scheduler-count 2

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.workloadsConfig.scheduler untuk memperbarui semua parameter penjadwal atau hanya jumlah penjadwal. Anda juga dapat memperbarui parameter penjadwal individual kecuali count dengan menentukan mask. Contohnya, config.workloadsConfig.scheduler.cpu

    2. Dalam isi permintaan, tentukan parameter penjadwal baru.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": SCHEDULER_CPU,
      "memoryGb": SCHEDULER_MEMORY,
      "storageGb": SCHEDULER_STORAGE,
      "count": SCHEDULER_COUNT
    }
  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.

  • SCHEDULER_CPU: jumlah CPU untuk penjadwal, dalam unit vCPU.

  • SCHEDULER_MEMORY: jumlah memori untuk penjadwal, dalam GB.

  • SCHEDULER_STORAGE: ukuran disk untuk penjadwal, dalam GB.

  • SCHEDULER_COUNT: jumlah penjadwal.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2,
      "count": 2
    }
  }
}

Terraform

Kolom berikut dalam blok workloads_config.scheduler mengontrol parameter penjadwal Airflow. Setiap penjadwal menggunakan jumlah resource yang ditentukan.

  • scheduler.count: jumlah penjadwal di lingkungan Anda.

  • scheduler.cpu: jumlah CPU untuk penjadwal Airflow.

  • scheduler.memory_gb: jumlah memori untuk penjadwal Airflow.

  • scheduler.storage_gb: jumlah kapasitas disk untuk penjadwal.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
        count = SCHEDULER_COUNT
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.

  • SCHEDULER_CPU: jumlah CPU untuk penjadwal, dalam unit vCPU.

  • SCHEDULER_MEMORY: jumlah memori untuk penjadwal, dalam GB.

  • SCHEDULER_STORAGE: ukuran disk untuk penjadwal, dalam GB.

  • SCHEDULER_COUNT: jumlah penjadwal.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      scheduler {
        
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
        
        count = 2
      }
    }

  }
}

Menyesuaikan parameter pemicu

Anda dapat menetapkan jumlah pemicu ke nol, tetapi Anda memerlukan setidaknya satu instance pemicu di lingkungan Anda (atau minimal dua di lingkungan yang sangat tangguh), untuk menggunakan operator yang dapat ditangguhkan di DAG.

Bergantung pada mode ketahanan lingkungan Anda, terdapat berbagai kemungkinan konfigurasi untuk jumlah pemicu:

  • Ketahanan standar: Anda dapat menjalankan hingga 10 pemicu.
  • Ketahanan tinggi: minimal 2 pemicu, hingga maksimum 10.

Meskipun jumlah pemicu ditetapkan ke nol, definisi pod pemicu akan dibuat dan terlihat di cluster lingkungan Anda, tetapi tidak ada beban kerja pemicu aktual yang dijalankan.

Anda juga dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh pemicu Airflow di lingkungan Anda. Dengan cara ini, Anda dapat meningkatkan performa lingkungan, selain penskalaan horizontal yang disediakan dengan menggunakan beberapa pemicu.

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk pemicu Airflow:

    1. Di bagian Pemicu, pada kolom Jumlah pemicu, masukkan jumlah pemicu di lingkungan Anda.

      Jika Anda menetapkan setidaknya satu pemicu untuk lingkungan, gunakan juga kolom CPU dan Memori guna mengonfigurasi alokasi resource untuk pemicu Anda.

    2. Di bagian CPU dan Memory, tentukan jumlah CPU, memori, dan penyimpanan untuk pemicu Airflow. Setiap pemicu menggunakan jumlah resource yang ditentukan.

  6. Klik Simpan.

gcloud

Tersedia parameter pemicu Airflow berikut:

  • --triggerer-count: jumlah pemicu di lingkungan Anda.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tangguh, gunakan 0, atau nilai antara 2 dan 10.
  • --triggerer-cpu: jumlah CPU untuk pemicu Airflow.

  • --triggerer-memory: jumlah memori untuk pemicu Airflow.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --triggerer-count TRIGGERER_COUNT \
  --triggerer-cpu TRIGGERER_CPU \
  --triggerer-memory TRIGGERER_MEMORY

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • TRIGGERER_COUNT: jumlah pemicu.
  • TRIGGERER_CPU: jumlah CPU untuk pemicu, dalam unit vCPU.
  • TRIGGERER_MEMORY: jumlah memori untuk pemicu.

Contoh:

  • Penskalaan hingga empat instance pemicu:
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 4 \
    --triggerer-cpu 1 \
    --triggerer-memory 1
  ```

- Disable triggerers by setting triggerer count to `0`. This operation
  doesn't require specifying CPU or memory for the triggerers.

```bash
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 0
  ```

API

  1. Dalam parameter kueri updateMask, tentukan mask config.workloadsConfig.triggerer.

  2. Dalam isi permintaan, tentukan ketiga parameter untuk pemicu.

"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": TRIGGERER_COUNT,
      "cpu": TRIGGERER_CPU,
      "memoryGb": TRIGGERER_MEMORY
    }
  }
}

Ganti kode berikut:

  • TRIGGERER_COUNT: jumlah pemicu.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tangguh, gunakan 0, atau nilai antara 2 dan 10.
  • TRIGGERER_CPU: jumlah CPU untuk pemicu, dalam unit vCPU.

  • TRIGGERER_MEMORY: jumlah memori untuk pemicu.

Contoh:

  • Nonaktifkan pemicu dengan menyetel jumlah pemicu ke 0. Operasi ini tidak memerlukan penentuan CPU atau memori untuk pemicu.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • Penskalaan hingga empat instance pemicu:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 4,
      "cpu": 1,
      "memoryGb": 1
    }
  }
}

Terraform

Kolom berikut dalam blok workloads_config.triggerer mengontrol parameter pemicu Airflow. Setiap pemicu menggunakan jumlah resource yang ditentukan.

  • triggerer.count: jumlah pemicu di lingkungan Anda.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tangguh, gunakan 0, atau nilai antara 2 dan 10.
  • triggerer.cpu: jumlah CPU untuk pemicu Airflow.

  • triggerer.memory_gb: jumlah memori untuk pemicu Airflow.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • TRIGGERER_COUNT: jumlah pemicu.
  • TRIGGERER_CPU: jumlah CPU untuk pemicu, dalam unit vCPU.
  • TRIGGERER_MEMORY: jumlah memori untuk pemicu, dalam GB.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
    }

  }
}

Menyesuaikan parameter pemroses DAG

Anda dapat menentukan jumlah pemroses DAG di lingkungan Anda serta jumlah CPU, memori, dan kapasitas disk yang digunakan oleh setiap prosesor DAG.

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk pemroses DAG Airflow:

    • Di menu drop-down Jumlah pemroses DAG, pilih jumlah pemroses DAG untuk lingkungan Anda.

    • Di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk prosesor DAG Airflow. Setiap pemroses DAG menggunakan resource dalam jumlah yang ditentukan.

  6. Klik Simpan.

gcloud

Tersedia parameter pemroses DAG Airflow berikut:

  • --dag-processor-count: jumlah pemroses DAG.
  • --dag-processor-cpu: jumlah CPU untuk prosesor DAG.
  • --dag-processor-memory: jumlah memori untuk prosesor DAG.
  • --dag-processor-storage: jumlah kapasitas disk untuk prosesor DAG.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
    --dag-processor-count DAG_PROCESSOR_COUNT \
    --dag-processor-cpu DAG_PROCESSOR_CPU \
    --dag-processor-memory DAG_PROCESSOR_MEMORY \
    --dag-processor-storage DAG_PROCESSOR_STORAGE

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • DAG_PROCESSOR_CPU: jumlah CPU untuk prosesor DAG.
  • DAG_PROCESSOR_MEMORY: jumlah memori untuk prosesor DAG.
  • DAG_PROCESSOR_STORAGE: jumlah kapasitas disk untuk prosesor DAG.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --dag-processor-count 2 \
  --dag-processor-cpu 0.5 \
  --dag-processor-memory 2 \
  --dag-processor-storage 1

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.workloadsConfig.dagProcessor untuk memperbarui semua parameter prosesor DAG, termasuk jumlah pemroses DAG. Anda juga dapat memperbarui setiap parameter prosesor DAG dengan menentukan mask. Contohnya, config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb.

    2. Dalam isi permintaan, tentukan parameter pemroses DAG baru.

"config": {
  "workloadsConfig": {
    "dagProcessor": {
      "count": DAG_PROCESSOR_COUNT,
      "cpu": DAG_PROCESSOR_CPU,
      "memoryGb": DAG_PROCESSOR_MEMORY,
      "storageGb": DAG_PROCESSOR_STORAGE
    }
  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • DAG_PROCESSOR_COUNT: jumlah pemroses DAG.
  • DAG_PROCESSOR_CPU: jumlah CPU untuk prosesor DAG, dalam unit vCPU.
  • DAG_PROCESSOR_MEMORY: jumlah memori untuk prosesor DAG, dalam GB.
  • DAG_PROCESSOR_STORAGE: jumlah kapasitas disk untuk prosesor DAG, dalam GB.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.dagProcessor

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": 2
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Kolom berikut dalam blok workloads_config.dag_processor mengontrol parameter prosesor DAG Airflow. Setiap pemroses DAG menggunakan jumlah resource yang ditentukan.

  • dag_processor.count: jumlah pemroses DAG di lingkungan Anda.
  • dag_processor.cpu: jumlah CPU untuk prosesor DAG.
  • dag_processor.memory_gb: jumlah memori untuk prosesor DAG.
  • dag_processor.storage_gb jumlah kapasitas disk untuk prosesor DAG.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      dag_processor {
        count = DAG_PROCESSOR_COUNT
        cpu = DAG_PROCESSOR_CPU
        memory_gb = DAG_PROCESSOR_MEMORY
        storage_gb = DAG_PROCESSOR_STORAGE
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • DAG_PROCESSOR_COUNT: jumlah pemroses DAG.
  • DAG_PROCESSOR_CPU: jumlah CPU untuk prosesor DAG, dalam unit vCPU.
  • DAG_PROCESSOR_MEMORY: jumlah memori untuk prosesor DAG, dalam GB.
  • DAG_PROCESSOR_STORAGE: jumlah kapasitas disk untuk prosesor DAG, dalam GB.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      dag_processor {
        count = 2
        cpu = 0.5
        memory_gb = 2
        storage_gb = 1
      }
    }

  }
}

Menyesuaikan parameter server web

Anda dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh server web Airflow di lingkungan Anda. Dengan cara ini, Anda dapat menskalakan performa UI Airflow, misalnya, agar sesuai dengan permintaan yang berasal dari sejumlah besar pengguna atau sejumlah besar DAG terkelola.

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk server web. Di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk server web.

  6. Klik Simpan.

gcloud

Tersedia parameter server web Airflow berikut:

  • --web-server-cpu: jumlah CPU untuk server web Airflow.
  • --web-server-memory: jumlah memori untuk server web Airflow.
  • --web-server-storage: jumlah kapasitas disk untuk server web Airflow.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-cpu WEB_SERVER_CPU \
  --web-server-memory WEB_SERVER_MEMORY \
  --web-server-storage WEB_SERVER_STORAGE

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • WEB_SERVER_CPU: jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY: jumlah memori untuk server web.
  • WEB_SERVER_STORAGE: jumlah memori untuk server web.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-cpu 1 \
  --web-server-memory 2.5 \
  --web-server-storage 2

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.workloadsConfig.webServer untuk memperbarui semua parameter server web. Anda juga dapat memperbarui setiap parameter server web dengan menentukan mask untuk parameter tersebut: config.workloadsConfig.webServer.cpu, config.workloadsConfig.webServer.memoryGb, config.workloadsConfig.webServer.storageGb.

    2. Dalam isi permintaan, tentukan parameter server web baru.

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": WEB_SERVER_CPU,
      "memoryGb": WEB_SERVER_MEMORY,
      "storageGb": WEB_SERVER_STORAGE
    }
  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • WEB_SERVER_CPU: jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY: jumlah memori untuk server web, dalam GB.
  • WEB_SERVER_STORAGE: ukuran disk untuk server web, dalam GB.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Kolom berikut dalam blok workloads_config.web_server mengontrol parameter server web.

  • web_server.cpu: jumlah CPU untuk server web.
  • web_server.memory_gb: jumlah memori untuk server web.
  • web_server.storage_gb: jumlah kapasitas disk untuk server web.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • WEB_SERVER_CPU: jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY: jumlah memori untuk server web, dalam GB.
  • WEB_SERVER_STORAGE: ukuran disk untuk server web, dalam GB.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

Menyesuaikan ukuran lingkungan

Ukuran lingkungan mengontrol parameter performa infrastruktur Cloud Composer terkelola yang mencakup, misalnya, database Airflow.

Sebaiknya pilih ukuran lingkungan yang lebih besar jika Anda ingin menjalankan DAG dan tugas dalam jumlah besar.

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di item Resources > Core infrastructure, klik Edit.

  6. Di panel Core infrastructure, di kolom Environment size, tentukan ukuran lingkungan.

  7. Klik Simpan.

gcloud

Argumen --environment-size mengontrol ukuran lingkungan:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --environment-size ENVIRONMENT_SIZE

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • ENVIRONMENT_SIZE: small, medium, atau large.

Contoh:

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.environmentSize.

    2. Dalam isi permintaan, tentukan ukuran lingkungan.

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

Ganti kode berikut:

  • ENVIRONMENT_SIZE: ukuran lingkungan, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM, atau ENVIRONMENT_SIZE_LARGE.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize

"config": {
  "environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}

Terraform

Kolom environment_size dalam blok config mengontrol ukuran lingkungan:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: wilayah tempat lingkungan berada.
  • ENVIRONMENT_SIZE: ukuran lingkungan, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM, atau ENVIRONMENT_SIZE_LARGE.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

Langkah selanjutnya