Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
本頁面說明如何調整 Cloud Composer 環境。
其他有關資源調度的頁面:
- 如要瞭解如何為環境選取最佳的規模和效能參數,請參閱「最佳化調整環境效能和成本效益」一文。
- 如要瞭解環境資源調度的運作方式,請參閱「環境資源調度」一文。
垂直和水平縮放
水平資源調度的選項:
- 調整工作站數量下限和上限。
- 調整排程器、DAG 處理器和觸發器的數量。
垂直資源調度的選項:
- 調整 worker、排程器、觸發器、DAG 處理器和網路伺服器的規模和效能參數。
- 調整環境大小。
資源限制
元件 | 計數下限 | 計數上限 | 最低 vCPU | 最高 vCPU | vCPU 最小步長 | 記憶體容量下限 (GB) | 記憶體容量上限 (GB) | 記憶體最小步長 (GB) | 每個 vCPU 的記憶體容量下限 (GB) | 每個 vCPU 的記憶體容量上限 (GB) | 最低儲存空間 (GB) | 儲存空間上限 (GB) | 儲存空間最小步增量 (GB) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
排程器 | 1 | 3 | 0.5 | 1 | 0.5 | 1 | 8 | 0.25 | 1 | 8 | 0 | 100 | 1 |
觸發器 | 0 | 10 | 0.5 | 1 | 0.5 | 1 | 8 | 0.25 | 1 | 8 | - | - | - |
網路伺服器 | - | - | 1 (最低支援) | 4 | 0.5、1 或 2 的倍數 | 2 | 32 | 0.25 | 1 | 8 | 0 | 100 | 1 |
工作站 | 1 | 100 | 0.5 | 32 | 0.5、1 或 2 的倍數 | 1 | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
DAG 處理器 | 1 | 3 | 0.5 | 32 | 0.5、1 或 2 的倍數 | 1 | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
調整 worker 參數
您可以為環境設定工作站數量下限和上限。Cloud Composer 會在設定的限制範圍內自動調整環境。您隨時可以調整這些限制。
您可以指定 Airflow 工作站在環境中使用的 CPU、記憶體和磁碟空間數量。這樣一來,您除了可以使用多個 worker 提供的水平調整功能,還能提升環境效能。
主控台
前往 Google Cloud 控制台的「Environments」頁面。
在環境清單中,按一下環境名稱。「環境詳細資料」頁面隨即開啟。
前往「環境設定」分頁。
在「資源」>「工作負載設定」項目中,點選「編輯」。
在「工作負載設定」窗格中,調整 Airflow worker 的參數:
在「工作站數量下限」欄位中,指定環境必須一律執行的 Airflow 工作站數量。在環境的正常運作期間,即使較少的工作站就能處理負載,環境中的工作站數量也不會低於這個數字。
在「工作站數量上限」欄位中,指定環境可執行的 Airflow 工作站數量上限。即使處理負載需要更多工作站,環境中的工作站數量也不會超過這個數字。
在「CPU」、「記憶體」和「儲存空間」欄位中,指定 Airflow 工作站的 CPU、記憶體和儲存空間數量。每個 worker 都會使用指定數量的資源。
按一下 [儲存]。
gcloud
可用的 Airflow worker 參數如下:
--min-workers
:環境必須一律執行的 Airflow 工作者數量。環境中的工作站數量不會低於這個數字,即使較少的工作站也能處理負載。--max-workers
:環境可執行的 Airflow 工作者數量上限。即使處理負載需要更多工作站,環境中的工作站數量也不會超過這個數字。--worker-cpu
:Airflow worker 的 CPU 數量。--worker-memory
:Airflow 工作站的記憶體量。--worker-storage
:Airflow worker 的磁碟空間量。
執行下列 Google Cloud CLI 指令:
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
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。WORKERS_MIN
:Airflow 工作站的最低數量。WORKERS_MAX
:Airflow 工作站的數量上限。WORKER_CPU
:worker 的 CPU 數量,單位為 vCPU。WORKER_MEMORY
:worker 的記憶體量。WORKER_STORAGE
:工作站的磁碟大小。
範例:
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
建構
environments.patch
API 要求。在這個要求中:
在
updateMask
參數中,指定要更新的欄位。舉例來說,如要更新 worker 的所有參數,請指定config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
遮罩。在要求主體中,指定新的 worker 參數。
"config": {
"workloadsConfig": {
"worker": {
"minCount": WORKERS_MIN,
"maxCount": WORKERS_MAX,
"cpu": WORKER_CPU,
"memoryGb": WORKER_MEMORY,
"storageGb": WORKER_STORAGE
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。WORKERS_MIN
:Airflow 工作站的最低數量。WORKERS_MAX
:Airflow 工作站的數量上限。WORKER_CPU
:worker 的 CPU 數量,單位為 vCPU。WORKER_MEMORY
:工作站的記憶體量,以 GB 為單位。WORKER_STORAGE
:工作站的磁碟大小 (以 GB 為單位)。
範例:
// 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
workloads_config.worker
區塊中的下列欄位可控制 Airflow 工作站參數。每個 worker 都會使用指定數量的資源。
worker.min_count
:環境必須一律執行的 Airflow 工作者數量。環境中的工作站數量不會低於這個數字,即使較少的工作站也能處理負載。worker.max_count
:環境可執行的 Airflow 工作者數量上限。即使處理負載需要更多工作站,環境中的工作站數量也不會超過這個數字。worker.cpu
:Airflow worker 的 CPU 數量。worker.memory_gb
:Airflow 工作站的記憶體量。worker.storage_gb
: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
}
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。WORKERS_MIN
:Airflow 工作站的最低數量。WORKERS_MAX
:Airflow 工作站的數量上限。WORKER_CPU
:worker 的 CPU 數量,單位為 vCPU。WORKER_MEMORY
:工作站的記憶體量,以 GB 為單位。WORKER_STORAGE
:工作站的磁碟大小 (以 GB 為單位)。
範例:
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
}
}
}
}
調整排程器參數
您的環境可以同時執行多個 Airflow 排程器。使用多個排程器將負載分配到多個排程器執行個體,以提升效能和穩定性。
環境中最多可有 3 個排程器。
在擴充調度器時,請考量下列事項:
在 Cloud Composer 3 環境中,Airflow DAG 處理器會以與排程器不同的環境元件執行。由於 DAG 處理器會將 DAG 的剖析工作從排程器卸載,因此您可能需要重新分配先前分配給 Airflow 排程器的資源。
由於排程器不會在 Cloud Composer 3 中剖析 DAG,因此 CPU 和記憶體的資源限制會比 Cloud Composer 2 低。
增加排程器的數量不一定能改善 Airflow 效能。
舉例來說,如果未使用額外排程器,且該排程器會耗用環境資源,卻不會提升整體效能,就可能發生這種情況。實際的排程器效能取決於 Airflow 工作站數量、在環境中執行的 DAG 和工作數量,以及 Airflow 和環境的設定。
建議您先使用兩個排程器,然後監控環境效能。如果您變更排程器數量,隨時可以將環境規模縮減至原始排程器數量。
如要進一步瞭解如何設定多個排程器,請參閱 Airflow 說明文件。
您可以指定 Airflow 調度器在環境中使用的 CPU、記憶體和磁碟空間數量。這樣一來,您除了可以使用多個排程器提供的水平調整功能,還能提升環境效能。
主控台
前往 Google Cloud 控制台的「Environments」頁面。
在環境清單中,按一下環境名稱。「環境詳細資料」頁面隨即開啟。
前往「環境設定」分頁。
在「資源」>「工作負載設定」項目中,點選「編輯」。
在「工作負載設定」窗格中,調整 Airflow 排程器的參數:
在「Number of schedulers」下拉式清單中,選取環境的排程器數量。
在「CPU」、「記憶體」和「儲存空間」欄位中,指定 Airflow 調度器的 CPU、記憶體和儲存空間數量。每個排程器都會使用指定數量的資源。
按一下 [儲存]。
gcloud
可用的 Airflow 排程器參數如下:
--scheduler-count
:環境中的排程器數量。--scheduler-cpu
:Airflow 排程器的 CPU 數量。--scheduler-memory
:Airflow 排程器的記憶體用量。--scheduler-storage
:Airflow 排程器的磁碟空間量。
執行下列 Google Cloud CLI 指令:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-cpu SCHEDULER_CPU \
--scheduler-memory SCHEDULER_MEMORY \
--scheduler-storage SCHEDULER_STORAGE \
--scheduler-count SCHEDULER_COUNT
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。SCHEDULER_CPU
:排程器的 CPU 數量,單位為 vCPU。SCHEDULER_MEMORY
:排程器的記憶體量。SCHEDULER_STORAGE
:排程器的磁碟大小。SCHEDULER_COUNT
:排程器數量。
範例:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-cpu 0.5 \
--scheduler-memory 2.5 \
--scheduler-storage 2 \
--scheduler-count 2
API
建構
environments.patch
API 要求。在這個要求中:
在
updateMask
參數中,指定config.workloadsConfig.scheduler
遮罩,以更新所有排程器參數或僅更新排程器數量。您也可以指定遮罩,更新count
以外的個別排程器參數。例如:config.workloadsConfig.scheduler.cpu
。在要求主體中,指定新的排程器參數。
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": SCHEDULER_CPU,
"memoryGb": SCHEDULER_MEMORY,
"storageGb": SCHEDULER_STORAGE,
"count": SCHEDULER_COUNT
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。SCHEDULER_CPU
:排程器的 CPU 數量,單位為 vCPU。SCHEDULER_MEMORY
:排程器的記憶體量 (GB)。SCHEDULER_STORAGE
:排程器的磁碟大小 (GB)。SCHEDULER_COUNT
:排程器數量。
範例:
// 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
workloads_config.scheduler
區塊中的下列欄位可控制 Airflow 排程器參數。每個排程器都會使用指定數量的資源。
scheduler.count
:環境中的排程器數量。scheduler.cpu
:Airflow 排程器的 CPU 數量。scheduler.memory_gb
:Airflow 排程器的記憶體用量。scheduler.storage_gb
:排程器的磁碟空間量。
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
}
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。SCHEDULER_CPU
:排程器的 CPU 數量,單位為 vCPU。SCHEDULER_MEMORY
:排程器的記憶體量 (GB)。SCHEDULER_STORAGE
:排程器的磁碟大小 (GB)。SCHEDULER_COUNT
:排程器數量。
範例:
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
}
}
}
}
調整觸發器參數
您可以將觸發器數量設為零,但環境中至少需要一個觸發器例項 (在高彈性環境中至少需要兩個),才能在 DAG 中使用可延遲運算子。
視環境的復原模式而定,觸發器數量的設定可能有所不同:
- 標準復原力:最多可執行 10 個觸發條件。
- 高復原力:至少 2 個觸發條件,最多 10 個。
即使觸發器數量設為零,系統也會建立觸發器 Pod 定義,並顯示在環境叢集中,但不會執行實際的觸發器工作負載。
您也可以指定 Airflow 觸發器在環境中使用的 CPU、記憶體和磁碟空間數量。這樣一來,您除了可以使用多個觸發條件進行水平調整,還能提升環境效能。
主控台
前往 Google Cloud 控制台的「Environments」頁面。
在環境清單中,按一下環境名稱。「環境詳細資料」頁面隨即開啟。
前往「環境設定」分頁。
在「資源」>「工作負載設定」項目中,點選「編輯」。
在「工作負載設定」窗格中,調整 Airflow 觸發條件的參數:
在「Triggerer」專區的「Number of triggerers」欄位中,輸入環境中的觸發條件數量。
如果您為環境設定至少一個觸發器,請同時使用 CPU 和 記憶體 欄位,為觸發器設定資源分配。
在「CPU」和「記憶體」中,指定 Airflow 觸發器的 CPU、記憶體和儲存空間數量。每個觸發器都會使用指定數量的資源。
按一下 [儲存]。
gcloud
可用的 Airflow 觸發條件參數如下:
--triggerer-count
:環境中的觸發條件數量。- 針對標準復原力環境,請使用
0
和10
之間的值。 - 對於具備高度彈性的環境,請使用
0
,或是介於2
和10
之間的值。
- 針對標準復原力環境,請使用
--triggerer-cpu
:Airflow 觸發器的 CPU 數量。--triggerer-memory
:Airflow 觸發器的記憶體用量。
執行下列 Google Cloud CLI 指令:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--triggerer-count TRIGGERER_COUNT \
--triggerer-cpu TRIGGERER_CPU \
--triggerer-memory TRIGGERER_MEMORY
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。TRIGGERER_COUNT
:觸發條件數量。TRIGGERER_CPU
:觸發器的 CPU 數量,單位為 vCPU。TRIGGERER_MEMORY
:觸發器的記憶體量。
範例:
- 擴充為四個觸發器執行個體:
gcloud composer environments update example-environment \
--location us-central1 \
--triggerer-count 4 \
--triggerer-cpu 1 \
--triggerer-memory 1
- 將觸發器數量設為
0
,即可停用觸發器。這項作業不需要為觸發器指定 CPU 或記憶體。
gcloud composer environments update example-environment \
--location us-central1 \
--triggerer-count 0
API
在
updateMask
查詢參數中,指定config.workloadsConfig.triggerer
遮罩。在要求主體中,指定觸發器的所有三個參數。
"config": {
"workloadsConfig": {
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
}
}
更改下列內容:
TRIGGERER_COUNT
:觸發條件數量。- 針對標準復原力環境,請使用
0
和10
之間的值。 - 對於具備高度彈性的環境,請使用
0
,或是介於2
和10
之間的值。
- 針對標準復原力環境,請使用
TRIGGERER_CPU
:觸發器的 CPU 數量,單位為 vCPU。TRIGGERER_MEMORY
:觸發器的記憶體量。
範例:
- 將觸發器數量設為
0
,即可停用觸發器。這項作業不需要為觸發器指定 CPU 或記憶體。
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
"workloadsConfig": {
"triggerer": {
"count": 0
}
}
}
- 擴充為四個觸發器執行個體:
// 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
workloads_config.triggerer
區塊中的下列欄位可控制 Airflow 觸發器參數。每個觸發器都會使用指定數量的資源。
triggerer.count
:環境中的觸發條件數量。- 針對標準復原力環境,請使用
0
和10
之間的值。 - 對於具備高度彈性的環境,請使用
0
,或是介於2
和10
之間的值。
- 針對標準復原力環境,請使用
triggerer.cpu
:Airflow 觸發器的 CPU 數量。triggerer.memory_gb
: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
}
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。TRIGGERER_COUNT
:觸發條件數量。TRIGGERER_CPU
:觸發器的 CPU 數量,單位為 vCPU。TRIGGERER_MEMORY
:觸發器的記憶體容量 (GB)。
範例:
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
}
}
}
}
調整 DAG 處理器參數
您可以指定環境中的 DAG 處理器數量,以及每個 DAG 處理器使用的 CPU、記憶體和磁碟空間數量。在 Cloud Composer 3 環境中,Airflow DAG 處理器會做為個別的環境元件執行。
主控台
前往 Google Cloud 控制台的「Environments」頁面。
在環境清單中,按一下環境名稱。「環境詳細資料」頁面隨即開啟。
前往「環境設定」分頁。
在「資源」>「工作負載設定」項目中,點選「編輯」。
在「工作負載設定」窗格中,調整 Airflow DAG 處理器的參數:
在「DAG 處理器數量」下拉式清單中,選取環境的 DAG 處理器數量。
在「CPU」、「記憶體」和「儲存空間」欄位中,指定 Airflow DAG 處理器的 CPU、記憶體和儲存空間數量。每個 DAG 處理器都會使用指定數量的資源。
按一下 [儲存]。
gcloud
可用的 Airflow DAG 處理器參數如下:
--dag-processor-count
:DAG 處理器數量。--dag-processor-cpu
:DAG 處理器的 CPU 數量。--dag-processor-memory
:DAG 處理器的記憶體量。--dag-processor-storage
:DAG 處理器的磁碟空間量。
執行下列 Google Cloud CLI 指令:
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
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。DAG_PROCESSOR_CPU
:DAG 處理器的 CPU 數量。DAG_PROCESSOR_MEMORY
:DAG 處理器的記憶體量。DAG_PROCESSOR_STORAGE
:DAG 處理器的磁碟空間量。
範例:
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
建構
environments.patch
API 要求。在這個要求中:
在
updateMask
參數中指定config.workloadsConfig.dagProcessor
遮罩,以更新所有 DAG 處理器參數,包括 DAG 處理器的數量。您也可以指定遮罩來更新個別 DAG 處理器參數。例如:config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb
。在要求主體中指定新的 DAG 處理器參數。
"config": {
"workloadsConfig": {
"dagProcessor": {
"count": DAG_PROCESSOR_COUNT,
"cpu": DAG_PROCESSOR_CPU,
"memoryGb": DAG_PROCESSOR_MEMORY,
"storageGb": DAG_PROCESSOR_STORAGE
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。DAG_PROCESSOR_COUNT
:DAG 處理器數量。DAG_PROCESSOR_CPU
:DAG 處理器的 CPU 數量,單位為 vCPU。DAG_PROCESSOR_MEMORY
:DAG 處理器的記憶體量,以 GB 為單位。DAG_PROCESSOR_STORAGE
:DAG 處理器的磁碟空間大小 (以 GB 為單位)。
範例:
// 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
workloads_config.dag_processor
區塊中的下列欄位可控制 Airflow DAG 處理器參數。每個 DAG 處理器都會使用指定數量的資源。
dag_processor.count
:環境中的 DAG 處理器數量。dag_processor.cpu
:DAG 處理器的 CPU 數量。dag_processor.memory_gb
:DAG 處理器的記憶體量。dag_processor.storage_gb
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
}
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。DAG_PROCESSOR_COUNT
:DAG 處理器數量。DAG_PROCESSOR_CPU
:DAG 處理器的 CPU 數量,單位為 vCPU。DAG_PROCESSOR_MEMORY
:DAG 處理器的記憶體量,以 GB 為單位。DAG_PROCESSOR_STORAGE
:DAG 處理器的磁碟空間大小 (以 GB 為單位)。
範例:
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
}
}
}
}
調整網路伺服器參數
您可以指定 Airflow 網路伺服器在環境中使用的 CPU、記憶體和磁碟空間數量。舉例來說,您可以透過這種方式擴充 Airflow UI 的效能,以滿足大量使用者或大量受管理 DAG 的需求。
主控台
前往 Google Cloud 控制台的「Environments」頁面。
在環境清單中,按一下環境名稱。「環境詳細資料」頁面隨即開啟。
前往「環境設定」分頁。
在「資源」>「工作負載設定」項目中,點選「編輯」。
在「工作負載設定」窗格中,調整網路伺服器的參數。在「CPU」、「記憶體」和「儲存空間」欄位中,指定網頁伺服器的 CPU、記憶體和儲存空間數量。
按一下 [儲存]。
gcloud
可用的 Airflow 網路伺服器參數如下:
--web-server-cpu
:Airflow 網路伺服器的 CPU 數量。--web-server-memory
:Airflow 網路伺服器的記憶體量。--web-server-storage
:Airflow 網路伺服器的磁碟空間量。
執行下列 Google Cloud CLI 指令:
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
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。WEB_SERVER_CPU
:網路伺服器的 CPU 數量,單位為 vCPU。WEB_SERVER_MEMORY
:Web 伺服器的記憶體量。WEB_SERVER_STORAGE
:Web 伺服器的記憶體量。
範例:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-cpu 1 \
--web-server-memory 2.5 \
--web-server-storage 2
API
建構
environments.patch
API 要求。在這個要求中:
在
updateMask
參數中指定config.workloadsConfig.webServer
遮罩,以更新所有網路伺服器參數。您也可以為下列參數指定遮罩,藉此更新個別網頁伺服器參數:config.workloadsConfig.webServer.cpu
、config.workloadsConfig.webServer.memoryGb
、config.workloadsConfig.webServer.storageGb
。在要求主體中指定新的網路伺服器參數。
"config": {
"workloadsConfig": {
"webServer": {
"cpu": WEB_SERVER_CPU,
"memoryGb": WEB_SERVER_MEMORY,
"storageGb": WEB_SERVER_STORAGE
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。WEB_SERVER_CPU
:網路伺服器的 CPU 數量,單位為 vCPU。WEB_SERVER_MEMORY
:Web 伺服器的記憶體量 (以 GB 為單位)。WEB_SERVER_STORAGE
:網頁伺服器的磁碟大小 (以 GB 為單位)。
範例:
// 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
workloads_config.web_server
區塊中的下列欄位可控制網頁伺服器參數。
web_server.cpu
:網路伺服器的 CPU 數量。web_server.memory_gb
:網路伺服器的記憶體用量。web_server.storage_gb
:網路伺服器的磁碟空間量。
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
}
}
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。WEB_SERVER_CPU
:網路伺服器的 CPU 數量,單位為 vCPU。WEB_SERVER_MEMORY
:Web 伺服器的記憶體量 (以 GB 為單位)。WEB_SERVER_STORAGE
:網頁伺服器的磁碟大小 (以 GB 為單位)。
範例:
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
}
}
}
}
調整環境大小
環境大小會控制代管 Cloud Composer 基礎架構的效能參數,例如 Airflow 資料庫。
如要執行大量 DAG 和工作,請考慮選取較大的環境規模。
主控台
前往 Google Cloud 控制台的「Environments」頁面。
在環境清單中,按一下環境名稱。「環境詳細資料」頁面隨即開啟。
前往「環境設定」分頁。
在「資源」>「工作負載設定」項目中,點選「編輯」。
在「資源」>「核心基礎架構」項目中,點選「編輯」。
在「核心基礎架構」窗格中的「環境大小」欄位中,指定環境大小。
按一下 [儲存]。
gcloud
--environment-size
引數可控制環境大小:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--environment-size ENVIRONMENT_SIZE
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。ENVIRONMENT_SIZE
:small
、medium
或large
。
範例:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
建立
environments.patch
API 要求。在這個要求中:
在
updateMask
參數中指定config.environmentSize
遮罩。在要求主體中指定環境大小。
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
更改下列內容:
ENVIRONMENT_SIZE
:環境大小,ENVIRONMENT_SIZE_SMALL
、ENVIRONMENT_SIZE_MEDIUM
或ENVIRONMENT_SIZE_LARGE
。
範例:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize
"config": {
"environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}
Terraform
config
區塊中的 environment_size
欄位可控制環境大小:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
environment_size = "ENVIRONMENT_SIZE"
}
}
更改下列內容:
ENVIRONMENT_NAME
:環境名稱。LOCATION
:環境所在的地區。ENVIRONMENT_SIZE
:環境大小,ENVIRONMENT_SIZE_SMALL
、ENVIRONMENT_SIZE_MEDIUM
或ENVIRONMENT_SIZE_LARGE
。
範例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
}
}
}