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, prosesor DAG, dan pemicu.

Opsi untuk penskalaan vertikal:

  • Menyesuaikan pekerja, penjadwal, pemicu, Prosesor DAG, dan server web. 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 menskalakan lingkungan Anda secara otomatis dalam set batasan data. Anda dapat menyesuaikan batas ini kapan saja.

Anda dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh Airflow pekerja di lingkungan Anda. Dengan cara ini, Anda dapat meningkatkan performa Selain penskalaan horizontal yang disediakan dengan menggunakan 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 Sumber daya > Konfigurasi beban kerja, Klik Edit.

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

    • Di kolom Minimum number of worker, tentukan jumlah Pekerja aliran udara yang harus selalu dijalankan lingkungan Anda. Jumlah jumlah pekerja di lingkungan Anda tidak kurang dari jumlah ini selama operasi lingkungan yang teratur, bahkan jika jumlah komputer yang pekerja dapat menangani beban itu.

    • Di kolom Maximum number of worker, tentukan jumlah maksimum yang dapat dijalankan oleh lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melampaui jumlah ini, bahkan jika ada jumlah pekerja yang lebih tinggi diperlukan untuk menangani beban.

    • Di kolom CPU, Memory, dan Storage, tentukan angkanya. 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 disediakan lingkungan Anda selalu berjalan. Jumlah pekerja di lingkungan Anda tidak kurang jumlah ini, bahkan jika jumlah pekerja yang lebih rendah dapat menangani beban.
  • --max-workers: jumlah maksimum worker Airflow yang tetap berjalan. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, bahkan jika jumlah pekerja yang diperlukan lebih tinggi 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 Anda perbarui. Misalnya, untuk memperbarui semua untuk worker, 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 disediakan lingkungan Anda selalu berjalan. Jumlah pekerja di lingkungan Anda tidak kurang jumlah ini, bahkan jika jumlah pekerja yang lebih rendah dapat menangani beban.
  • worker.max_count: jumlah maksimum worker Airflow yang tetap berjalan. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, bahkan jika jumlah pekerja yang diperlukan lebih tinggi 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 baik. Gunakan beberapa penjadwal untuk mendistribusikan beban antara beberapa penjadwal untuk performa dan keandalan yang lebih baik.

Anda dapat memiliki hingga 3 penjadwal di lingkungan Anda.

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

Sebaiknya mulai dengan dua penjadwal lalu pantau performanya yang optimal. Jika mengubah jumlah penjadwal, Anda selalu dapat skalakan lingkungan Anda kembali ke jumlah penjadwal asli.

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

Anda dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh Airflow penjadwal di lingkungan Anda. Dengan cara ini, Anda dapat meningkatkan kinerja lingkungan Anda, selain penskalaan horizontal yang disediakan dengan menggunakan 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 Sumber daya > Konfigurasi beban kerja, Klik Edit.

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

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

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

  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. Di parameter updateMask, tentukan mask config.workloadsConfig.scheduler untuk memperbarui semua penjadwal parameter 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 Google Cloud Platform.

  • 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 setidaknya dua instance dalam lingkungan), untuk menggunakan operator yang dapat ditangguhkan di DAG.

Bergantung pada mode ketahanan, ada berbagai kemungkinan konfigurasi untuk jumlah pemicu:

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

Meskipun jumlah pemicu ditetapkan ke nol, definisi pod pemicu dibuat dan terlihat di cluster lingkungan Anda, tetapi tidak ada pemicu sebenarnya workload berjalan.

Anda juga dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh Airflow pemicu di lingkungan Anda. Dengan cara ini, Anda dapat meningkatkan kinerja lingkungan Anda, selain penskalaan horizontal yang disediakan dengan menggunakan 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 Sumber daya > Konfigurasi beban kerja, Klik Edit.

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

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

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

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

  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 Airflow pemicu.

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 Google Cloud Platform.

  • 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 dan jumlahnya CPU, memori, dan kapasitas {i>disk<i} 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 Sumber daya &gt; Konfigurasi beban kerja, Klik Edit.

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

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

    • Di kolom CPU, Memory, dan Storage, tentukan angkanya. CPU, memori, dan penyimpanan untuk prosesor DAG Airflow. Setiap DAG prosesor 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 DAG Prosesor Google Cloud.
  • --dag-processor-storage: jumlah kapasitas disk untuk DAG Prosesor Google Cloud.

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 DAG Prosesor Google Cloud.
  • DAG_PROCESSOR_STORAGE: jumlah kapasitas disk untuk DAG Prosesor Google Cloud.

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. Di parameter updateMask, tentukan mask config.workloadsConfig.dagProcessor untuk memperbarui semua DAG parameter pemroses, termasuk jumlah prosesor DAG. Anda 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 vCPU unit iklan.
  • DAG_PROCESSOR_MEMORY: jumlah memori untuk DAG prosesor, dalam GB.
  • DAG_PROCESSOR_STORAGE: jumlah kapasitas disk untuk DAG prosesor, 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 pemroses DAG Airflow. Setiap pemroses DAG menggunakan jumlah resource.

  • 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 vCPU unit iklan.
  • DAG_PROCESSOR_MEMORY: jumlah memori untuk DAG prosesor, dalam GB.
  • DAG_PROCESSOR_STORAGE: jumlah kapasitas disk untuk DAG prosesor, 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 Airflow di lingkungan Anda. Dengan cara ini, Anda dapat menskalakan kinerja UI Airflow, misalnya, untuk mencocokkan permintaan yang berasal dari sejumlah 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 Sumber daya &gt; Konfigurasi beban kerja, Klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk server web Anda. 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 web Airflow server tertentu.
  • --web-server-storage: jumlah kapasitas disk untuk Airflow server web Anda.

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. Di parameter updateMask, tentukan mask config.workloadsConfig.webServer untuk memperbarui semua server web parameter. Anda juga dapat memperbarui parameter server web individual 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 lainnya.

  • 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 yang mencakup, misalnya, Database Airflow.

Pertimbangkan untuk memilih ukuran lingkungan yang lebih besar jika Anda ingin menjalankan project dalam jumlah besar DAG dan tugas.

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 Sumber daya &gt; Konfigurasi beban kerja, Klik Edit.

  5. Pada item Resource &gt; Infrastruktur inti, Klik Edit.

  6. Di panel Core infrastructure, di kolom Environment size, menentukan 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. Di 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 lingkungan ukuran:

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