Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך לשנות את גודל הסביבות של Managed Airflow.
דפים נוספים בנושא שינוי גודל:
- במאמר אופטימיזציה של הביצועים והעלויות של הסביבה מופיע מדריך לבחירת פרמטרים אופטימליים של קנה מידה וביצועים עבור הסביבה שלכם.
- מידע על אופן ההתאמה של הסביבה זמין במאמר התאמת הסביבה.
שינוי גודל אנכי ואופקי
אפשרויות להרחבה אופקית:
- משנים את המספר המינימלי והמקסימלי של העובדים.
- משנים את מספר המתזמנים, מעבדי ה-DAG והטריגרים.
אפשרויות להגדלה אנכית:
- שינוי הפרמטרים של קנה המידה והביצועים של העובד, המתזמן, המפעיל, מעבד ה-DAG ושרת האינטרנט.
- משנים את גודל הסביבה.
מגבלות על משאבים
| רכיב | מספר מינימלי | מספר מקסימלי | מינימום vCPU | מעבד וירטואלי מקסימלי | vCPU minimum step | זיכרון מינימלי (GB) | זיכרון מקסימלי (GB) | הצעד המינימלי של זיכרון (GB) | זיכרון מינימלי לכל vCPU (GB) | הזיכרון המקסימלי לכל vCPU (GB) | נפח אחסון מינימלי (GB) | נפח אחסון מקסימלי (GB) | הצעד המינימלי לאחסון (GB) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| מתזמני משימות | 1 | 3 | 0.5 | 2 | 0.5 | 1 (2 ב-Airflow 3) | 8 | 0.25 | 1 | 8 | 0 | 100 | 1 |
| Triggerers | 0 | 10 | 0.5 | 1 | 0.5 | 1 (2 ב-Airflow 3) | 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 (2 ב-Airflow 3) | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
| מעבדי DAG | 1 | 3 | 0.5 | 32 | 0.5, 1 או כפולה של 2 | 1 (2 ב-Airflow 3) | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
הגדרות קבועות מראש של סביבה
כשיוצרים סביבה ב- Google Cloud console, אפשר לבחור אחת משלוש הגדרות קבועות מראש של סביבה. ההגדרות הקבועות מראש האלה קובעות את ההגדרה הראשונית של הסביבה מבחינת קנה מידה וביצועים. אחרי שיוצרים את הסביבה, אפשר לשנות את כל הפרמטרים של קנה המידה והביצועים שמוגדרים מראש.
מומלץ לבחור הגדרות קבועות מראש על סמך ההערכות הבאות:
- המספר הכולל של DAG שתכננתם לפרוס בסביבה
- מספר מקסימלי של הפעלות DAG בו-זמניות
- מספר מקסימלי של משימות בו-זמנית
הביצועים של הסביבה תלויים בהטמעה של גרפים ספציפיים של זרימות עבודה (DAG) שמופעלים בסביבה. בטבלה הבאה מפורטים אומדנים שמבוססים על צריכת המשאבים הממוצעת. אם אתם צופים שגרפי ה-DAG יצרכו יותר משאבים, כדאי להתאים את ההערכות בהתאם.
| הגדרה קבועה מראש מומלצת | סך כל תרשימי ה-DAG | מספר מקסימלי של הרצות DAG בו-זמניות | מספר מקסימלי של משימות בו-זמניות |
|---|---|---|---|
| קטן | 50 | 15 | 18 |
| בינוני | 250 | 60 | 100 |
| גדול | 1000 | 250 | 400 |
| גדול במיוחד | 3000 | 750 | 2250 |
לדוגמה, סביבה צריכה להריץ 40 קובצי DAG. כל ה-DAGs צריכים לפעול בו-זמנית, וכל אחד מהם צריך לכלול משימה פעילה אחת. במקרה כזה, הסביבה תשתמש בהגדרה קבועה מראש של Medium, כי המספר המקסימלי של הפעלות DAG ומשימות בו-זמניות חורג מההערכות המומלצות להגדרה הקבועה מראש של Small.
שינוי הפרמטרים של העובדים
אתם יכולים להגדיר את מספר העובדים המינימלי והמקסימלי בסביבה שלכם. Managed Airflow משנה את גודל הסביבה באופן אוטומטי במסגרת המגבלות שהוגדרו. אפשר לשנות את המגבלות האלה בכל שלב.
אתם יכולים לציין את מספר המעבדים, נפח הזיכרון ושטח הדיסק שבהם משתמשים העובדים של Airflow בסביבה שלכם. כך אפשר לשפר את הביצועים של הסביבה, בנוסף להרחבה אופקית שמתקבלת משימוש בכמה תהליכי worker.
המסוף
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).
בחלונית Workloads configuration (הגדרת עומסי עבודה), משנים את הפרמטרים של Airflow workers:
בשדה Minimum number of workers (מספר העובדים המינימלי), מציינים את מספר העובדים של Airflow שהסביבה צריכה להריץ תמיד. מספר העובדים בסביבה לא יירד מתחת למספר הזה במהלך הפעולה הרגילה של הסביבה, גם אם מספר נמוך יותר של עובדים יכול לטפל בעומס.
בשדה Maximum number of workers (מספר העובדים המקסימלי), מציינים את המספר המקסימלי של עובדי Airflow שהסביבה יכולה להריץ. מספר העובדים בסביבה לא יעלה על המספר הזה, גם אם נדרש מספר גבוה יותר של עובדים כדי לטפל בעומס.
בשדות CPU, Memory ו-Storage, מציינים את מספר המעבדים, הזיכרון והאחסון של העובדים ב-Airflow. כל עובד משתמש בכמות המשאבים שצוינה.
לוחצים על Save.
gcloud
אלה הפרמטרים של Airflow worker שזמינים:
-
--min-workers: מספר העובדים של Airflow שהסביבה צריכה להריץ תמיד. מספר העובדים בסביבה לא יירד מתחת למספר הזה, גם אם מספר נמוך יותר של עובדים יכול להתמודד עם העומס. -
--max-workers: המספר המקסימלי של עובדי Airflow שהסביבה יכולה להריץ. מספר העובדים בסביבה לא יעלה על המספר הזה, גם אם נדרש מספר גבוה יותר של עובדים כדי לטפל בעומס. -
--worker-cpu: מספר יחידות ה-CPU של עובד Airflow. -
--worker-memory: כמות הזיכרון של עובד Airflow. -
--worker-storage: כמות שטח הדיסק לעובד של Airflow.
מריצים את הפקודה הבאה ב-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: מספר יחידות ה-CPU של העובד, ביחידות vCPU. -
WORKER_MEMORY: כמות הזיכרון של העובד. -
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
יוצרים בקשת API של
environments.patch.בבקשה הזו:
בפרמטר
updateMaskמציינים את השדות שרוצים לעדכן. לדוגמה, כדי לעדכן את כל הפרמטרים של העובדים, מציינים את המסכהconfig.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.בגוף הבקשה, מציינים את הפרמטרים החדשים של העובד.
"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: מספר יחידות ה-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: מספר יחידות ה-CPU של עובד Airflow. -
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: מספר יחידות ה-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 מתזמנים בסביבה שלכם.
כשמרחיבים את היקף השימוש בכלי לתזמון, חשוב להביא בחשבון את הנקודות הבאות:
בסביבות של Managed Airflow (דור 3), מעבדי Airflow DAG פועלים כרכיבי סביבה נפרדים מהמתזמנים. מעבד DAG מעביר את הניתוח של DAGs מהמתזמן, ולכן יכול להיות שתרצו להקצות מחדש משאבים שהוקצו בעבר למתזמנים של Airflow.
מכיוון שמתזמנים לא מנתחים DAG ב-Managed Airflow (דור 3), יש להם מגבלות משאבים נמוכות יותר למעבד ולזיכרון מאשר ב-Managed Airflow (דור 2).
הגדלת מספר המתזמנים לא תמיד משפרת את הביצועים של Airflow.
לדוגמה, זה יכול לקרות כשמתזמן נוסף לא מנוצל וצורך משאבים בסביבה שלכם בלי לתרום לביצועים הכוללים. הביצועים בפועל של מתזמן המשימות תלויים במספר העובדים של Airflow, במספר ה-DAG והמשימות שפועלים בסביבה שלכם ובהגדרות של Airflow ושל הסביבה.
מומלץ להתחיל עם שני מתזמנים ואז לעקוב אחרי הביצועים של הסביבה. אם תשנו את מספר המתזמנים, תמיד תוכלו להחזיר את הסביבה למספר המתזמנים המקורי.
מידע נוסף על הגדרת מספר מתזמנים זמין במאמרי העזרה של Airflow.
אתם יכולים לציין את מספר המעבדים, הזיכרון ושטח הדיסק שמשמשים את מתזמני Airflow בסביבה שלכם. כך אפשר לשפר את הביצועים של הסביבה, בנוסף להרחבה אופקית שמתאפשרת באמצעות שימוש בכמה מתזמנים.
המסוף
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).
בחלונית Workloads configuration משנים את הפרמטרים של מתזמני Airflow:
בתפריט הנפתח מספר המתזמנים, בוחרים את מספר המתזמנים לסביבה שלכם.
בשדות CPU, Memory ו-Storage, מציינים את מספר המעבדים, הזיכרון והאחסון עבור מתזמני Airflow. כל מתזמן משתמש בכמות המשאבים שצוינה.
לוחצים על Save.
gcloud
הפרמטרים הבאים של מתזמן Airflow זמינים:
--scheduler-count: מספר המתזמנים בסביבה שלכם.
--scheduler-cpu: מספר יחידות העיבוד המרכזיות (CPU) של מתזמן Airflow.
--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
יוצרים בקשת API של
environments.patch.בבקשה הזו:
בפרמטר
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: כמות הזיכרון של מתזמן, בגיגה-בייט.
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: מספר יחידות העיבוד המרכזיות (CPU) של מתזמן Airflow.
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: כמות הזיכרון של מתזמן, בגיגה-בייט.
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 מפעילים לכל היותר.
גם אם מספר הטריגרים מוגדר לאפס, נוצרת הגדרה של פוד טריגר והיא גלויה באשכול של הסביבה, אבל לא מופעלים עומסי עבודה של טריגרים בפועל.
אפשר גם לציין את מספר המעבדים, הזיכרון ושטח הדיסק שמשמשים את מפעילים של Airflow בסביבה שלכם. כך תוכלו לשפר את הביצועים של הסביבה שלכם, בנוסף להרחבה אופקית שמתאפשרת באמצעות שימוש בכמה מפעילים.
המסוף
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).
בחלונית Workloads configuration (הגדרת עומסי עבודה), משנים את הפרמטרים של Airflow triggerers:
בקטע Triggerer, בשדה Number of triggerers, מזינים את מספר ה-triggerers בסביבה שלכם.
אם הגדרתם לפחות מפעיל אחד לסביבה, צריך להשתמש גם בשדות CPU וזיכרון כדי להגדיר את הקצאת המשאבים למפעילים.
בקטעים CPU וMemory, מציינים את מספר המעבדים, הזיכרון והאחסון של מפעילים ב-Airflow. כל מפעיל משתמש בכמות המשאבים שצוינה.
לוחצים על Save.
gcloud
הפרמטרים הבאים של Airflow triggerer זמינים:
--triggerer-count: מספר הטריגרים בסביבה שלכם.- בסביבות רגילות של עמידות, צריך להשתמש בערך בין
0ל-10. - בסביבות עם חוסן גבוה, צריך להשתמש ב-
0או בערך בין2ל-10.
- בסביבות רגילות של עמידות, צריך להשתמש בערך בין
--triggerer-cpu: מספר המעבדים של מפעיל Airflow.
--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. כדי לבצע את הפעולה הזו, לא צריך לציין את המעבד או הזיכרון של הגורמים המפעילים.
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. כדי לבצע את הפעולה הזו, לא צריך לציין את המעבד או הזיכרון של הגורמים המפעילים.
// 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.
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: כמות הזיכרון של מפעיל, בגיגה-בייט.
דוגמה:
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 בסביבה שלכם ואת הכמות של מעבדי ה-CPU, הזיכרון ונפח הדיסק שכל מעבד DAG משתמש בהם. בסביבות (דור 3) של Managed Airflow, מעבד ה-DAG של Airflow פועל כרכיב סביבה נפרד.
בהתאם למצב החוסן של הסביבה, יש תצורות שונות אפשריות למספר המעבדים של DAG:
- חוסן סטנדרטי: אפשר להפעיל עד 3 מעבדי DAG.
- עמידות גבוהה: לפחות 2 מעבדי DAG, עד 3 מעבדי DAG לכל היותר.
המסוף
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).
בחלונית Workloads configuration (הגדרת עומסי עבודה), משנים את הפרמטרים של מעבדי Airflow DAG:
ברשימה הנפתחת Number of DAG processors (מספר מעבדי DAG), בוחרים את מספר מעבדי ה-DAG לסביבה שלכם.
בסביבות עם חוסן גבוה נדרשים לפחות שני מעבדי DAG.
בשדות CPU, Memory ו-Storage, מציינים את מספר המעבדים, הזיכרון והאחסון למעבדי Airflow DAG. כל מעבד DAG משתמש בכמות המשאבים שצוינה.
לוחצים על Save.
gcloud
הפרמטרים הבאים של מעבד Airflow DAG זמינים:
-
--dag-processor-count: מספר המעבדים של DAG.
בסביבות עם חוסן גבוה נדרשים לפחות שני מעבדי DAG.
-
--dag-processor-cpu: מספר המעבדים של מעבד ה-DAG. -
--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_COUNT: מספר המעבדים של DAG. -
DAG_PROCESSOR_CPU: מספר המעבדים של מעבד ה-DAG. -
DAG_PROCESSOR_MEMORY: כמות הזיכרון למעבד DAG. -
DAG_PROCESSOR_STORAGE: כמות שטח הדיסק למעבד DAG.
דוגמה:
gcloud composer environments update example-environment \
--location us-central1 \
--dag-processor-count 1 \
--dag-processor-cpu 0.5 \
--dag-processor-memory 2 \
--dag-processor-storage 1
API
יוצרים בקשת API של
environments.patch.בבקשה הזו:
בפרמטר
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: מספר יחידות ה-CPU של מעבד ה-DAG, ביחידות 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 שולטים בפרמטרים של מעבד DAG ב-Airflow. כל מעבד DAG משתמש בכמות המשאבים שצוינה.
-
dag_processor.count: מספר המעבדים של DAG בסביבה שלכם. -
dag_processor.cpu: מספר יחידות ה-CPU של מעבד DAG. -
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: מספר יחידות ה-CPU של מעבד ה-DAG, ביחידות 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 = 1
cpu = 0.5
memory_gb = 2
storage_gb = 1
}
}
}
}
שינוי פרמטרים של שרת אינטרנט
אתם יכולים לציין את מספר המעבדים, הזיכרון ושטח הדיסק שבהם משתמש שרת האינטרנט של Airflow בסביבה שלכם. כך תוכלו לשפר את הביצועים של ממשק המשתמש של Airflow, למשל, כדי להתאים לביקוש שמגיע ממספר גדול של משתמשים או ממספר גדול של DAG מנוהלים.
המסוף
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).
בחלונית Workloads configuration (הגדרת עומסי עבודה), משנים את הפרמטרים של שרת האינטרנט. בשדות CPU, Memory ו-Storage, מציינים את מספר המעבדים, הזיכרון והאחסון של שרת האינטרנט.
לוחצים על Save.
gcloud
הפרמטרים הבאים של שרת האינטרנט של Airflow זמינים:
-
--web-server-cpu: מספר המעבדים של שרת האינטרנט של Airflow. -
--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_SERVER_STORAGE: כמות הזיכרון של שרת האינטרנט.
דוגמה:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-cpu 1 \
--web-server-memory 2.5 \
--web-server-storage 2
API
יוצרים בקשת API של
environments.patch.בבקשה הזו:
בפרמטר
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: כמות הזיכרון של שרת האינטרנט, ב-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: מספר המעבדים של שרת האינטרנט. -
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: כמות הזיכרון של שרת האינטרנט, ב-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
}
}
}
}
שינוי גודל הסביבה
גודל הסביבה קובע את פרמטרי הביצועים של התשתית המנוהלת של Airflow, שכוללת, למשל, את מסד הנתונים של Airflow.
אם רוצים להריץ מספר גדול של DAG ומשימות, כדאי לבחור גודל סביבה גדול יותר.
המסוף
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).
בפריט משאבים > תשתית ליבה, לוחצים על עריכה.
בחלונית Core infrastructure (תשתית ליבה), בשדה Environment size (גודל הסביבה), מציינים את גודל הסביבה.
לוחצים על Save.
gcloud
הארגומנט --environment-size קובע את גודל הסביבה:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--environment-size ENVIRONMENT_SIZE
מחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_NAME: שם הסביבה. -
LOCATION: האזור שבו נמצאת הסביבה. ENVIRONMENT_SIZE:small,medium,large,extra-large.
דוגמה:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
יוצרים בקשת API של
environments.patch.בבקשה הזו:
בפרמטר
updateMask, מציינים את המסכהconfig.environmentSize.בגוף הבקשה, מציינים את גודל הסביבה.
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
מחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_SIZE: גודל הסביבה:ENVIRONMENT_SIZE_SMALL,ENVIRONMENT_SIZE_MEDIUM,ENVIRONMENT_SIZE_LARGE,ENVIRONMENT_SIZE_EXTRA_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
השדה environment_size בבלוק config קובע את גודל הסביבה:
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,ENVIRONMENT_SIZE_EXTRA_LARGE.
דוגמה:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
}
}
}