העברת סביבות ל-Managed Airflow (דור 3)

Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)

בדף הזה מוסבר איך להעביר DAG, נתונים והגדרות מסביבת Managed Airflow (דור 2) קיימת אל Managed Airflow (דור 3).

מדריכים אחרים להעברת נתונים

מאת אל ‏Method מדריך
‫Managed Airflow (דור 3), ‏ Airflow 2 ‫Managed Airflow (דור 3), Airflow 3 העברה ידנית זה לצד זה מדריך להעברה ידנית
‫Managed Airflow (דור 2) ‫Managed Airflow (דור 3) זה לצד זה, באמצעות סקריפט ההעברה מדריך להעברת סקריפטים
‫Managed Airflow (דור 2) ‫Managed Airflow (דור 3) זו לצד זו, באמצעות תמונות מצב במדריך הזה
‫Managed Airflow (Legacy Gen 1), Airflow 2 ‫Managed Airflow (דור 3) זו לצד זו, באמצעות תמונות מצב מדריך להעברת תמונות מצב
‫Managed Airflow (Legacy Gen 1), Airflow 2 ‫Managed Airflow (דור 2) זו לצד זו, באמצעות תמונות מצב מדריך להעברת תמונות מצב
‫Managed Airflow (Legacy Gen 1), Airflow 2 ‫Managed Airflow (דור 2) העברה ידנית זה לצד זה מדריך להעברה ידנית
‫Managed Airflow (Legacy Gen 1), Airflow 1 ‫Managed Airflow (דור 2), ‏ Airflow 2 זו לצד זו, באמצעות תמונות מצב מדריך להעברת תמונות מצב
‫Managed Airflow (Legacy Gen 1), Airflow 1 ‫Managed Airflow (דור 2), ‏ Airflow 2 העברה ידנית זה לצד זה מדריך להעברה ידנית
‫Managed Airflow (Legacy Gen 1), Airflow 1 ‫Managed Airflow (Legacy Gen 1), Airflow 2 העברה ידנית זה לצד זה מדריך להעברה ידנית

לפני שמתחילים

  • במדריך הזה להעברה נעשה שימוש בתמונות מצב. יש תמיכה בתמונות מצב ב-Managed Airflow (דור 2) החל מגרסה 2.0.9.

  • ‫Managed Airflow תומך בהעברה זה לצד זה מ-Managed Airflow (דור 2) אל Managed Airflow (דור 3). אי אפשר לשדרג מ-Managed Airflow (דור 2) ל-Managed Airflow (דור 3) במקום.

  • אפשר לעיין ברשימת ההבדלים בין Managed Airflow (דור 2) לבין Managed Airflow (דור 3). מוודאים שהסביבה לא משתמשת בתכונות שעדיין לא זמינות ב-Managed Airflow (דור 3).

  • הגודל המקסימלי של מסד הנתונים של Airflow שתומך בתמונות מצב הוא 20GB. אם מסד הנתונים של הסביבה גדול מ-20GB, צריך להקטין את הגודל של מסד הנתונים של Airflow.

  • כדי ליצור תמונות מצב, המספר הכולל של האובייקטים בתיקיות /dags, /plugins ו-/data בקטגוריה של הסביבה צריך להיות פחות מ-100,000.

  • אם אתם משתמשים במנגנון XCom להעברת קבצים, חשוב לוודא שאתם משתמשים בו בהתאם להנחיות של Airflow. העברה של קבצים גדולים או של מספר גדול של קבצים באמצעות XCom משפיעה על הביצועים של מסד הנתונים של Airflow, ויכולה לגרום לכשלים בטעינת תמונות מצב או בשדרוג הסביבה. כדאי לשקול שימוש בחלופות כמו Cloud Storage להעברת נפחים גדולים של נתונים.

מוודאים שקובצי ה-DAG תואמים ל-Managed Airflow (דור 3)

כדי לוודא שקובצי ה-DAG תואמים ל-Managed Airflow (דור 3), כדאי לפעול לפי ההצעות הבאות:

  • רשימת החבילות בסביבת Managed Airflow (דור 3) יכולה להיות שונה מזו שבסביבת Managed Airflow (דור 2). יכול להיות שהשינוי הזה ישפיע על התאימות של גרפי ה-DAG שלכם ל-Managed Airflow (דור 3).

  • ‫Managed Airflow טוען החלפות של הגדרות, משתני סביבה וחבילות PyPI מהתמונה של סביבת Managed Airflow (דור 2) אל Managed Airflow (דור 3) בלי לשנות או להתאים אותם לצורך תאימות. כדי לפתור קונפליקטים בין פרמטרים של הגדרות, אפשר לדלג על טעינה של חבילות PyPI מותאמות אישית, משתני סביבה ושינויים בהגדרות של Airflow כשמטעינים את התמונה.

  • ב-Managed Airflow (דור 3), האשכול של הסביבה נמצא בפרויקט הדייר. חשוב לוודא שגרפי ה-DAG שלכם תואמים לשינוי הזה. בפרט, KubernetesPodOperator עומסי העבודה ניתנים עכשיו להרחבה באופן עצמאי מהסביבה שלכם, ואי אפשר להשתמש בהגדרות של זיקה ל-Pod.

השהיית DAG בסביבת Managed Airflow (דור 2)

כדי למנוע הפעלות כפולות של DAG, צריך להשהות את כל ה-DAG בסביבת Managed Airflow (דור 2) לפני ששומרים את התמונה שלו. מדלגים על DAG של מעקב אחר פעילות (airflow_monitoring). הוא משמש למטרות מעקב ולא נכלל בתמונות מצב של הסביבה.

אפשר להשתמש באחת מהאפשרויות הבאות כדי להשהות DAG:

  • השהיית DAG אחד בכל פעם במסוף Google Cloud :

    1. נכנסים לדף Environments במסוף Google Cloud .

      מעבר אל Environments

    2. בוחרים סביבה כדי לראות את הפרטים שלה.

    3. בדף פרטי הסביבה, עוברים לכרטיסייה DAGs.

    4. לוחצים על השם של DAG.

    5. בדף פרטי DAG, לוחצים על השהיית DAG.

  • בממשק האינטרנט של Airflow, עוברים אל DAGs ומשהים את כל ה-DAG באופן ידני.

  • כדי להשהות את כל ה-DAGs, משתמשים בסקריפט composer_dags:

    python3 composer_dags.py --environment COMPOSER_2_ENV \
      --project PROJECT_ID \
      --location COMPOSER_2_LOCATION \
      --operation pause
    

    מחליפים את:

    • COMPOSER_2_ENV בשם של סביבת Managed Airflow (דור 2).
    • PROJECT_ID במזהה הפרויקט (Project ID).
    • COMPOSER_2_LOCATION עם האזור שבו הסביבה ממוקמת.

שמירת תמונת מצב של סביבת Managed Airflow (דור 2)

המסוף

יוצרים תמונת מצב של הסביבה:

  1. במסוף Google Cloud , עוברים לדף Environments.

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על השם של סביבת Managed Airflow (Gen 2). הדף Environment details ייפתח.

  3. לוחצים על יצירת תמונת מצב.

  4. בתיבת הדו-שיח יצירת תמונת מצב, לוחצים על שליחה. במדריך הזה, אתם שומרים את התמונה ב-bucket של סביבת Managed Airflow (דור 2), אבל אתם יכולים לבחור מיקום אחר אם אתם רוצים. אם מציינים מיקום בהתאמה אישית, לחשבונות השירות של שני הסביבות צריכות להיות הרשאות קריאה וכתיבה למיקום שצוין.

  5. מחכים עד ש-Managed Airflow יוצר את התמונה.

  6. אחרי שנוצר צילום המסך, ההודעה שמוצגת כוללת את המיקום של צילום המסך. שומרים את המידע הזה כדי להשתמש בו בהמשך כשמעלים את התמונה הזו לסביבת Managed Airflow (דור 3).

    לדוגמה, צילום המסך של המיקום יכול להיראות כך: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

gcloud

  1. יוצרים תמונת מצב של סביבת Managed Airflow (דור 2):

    gcloud composer environments snapshots save \
      COMPOSER_2_ENV \
      --location COMPOSER_2_LOCATION
    

    מחליפים את:

    • COMPOSER_2_ENV בשם של סביבת Managed Airflow (דור 2).
    • COMPOSER_2_LOCATION עם האזור שבו נמצאת סביבת Managed Airflow (דור 2).
    • (אופציונלי) אפשר להשתמש בארגומנט --snapshot-location כדי לציין מיקום מותאם אישית שבו צריך לאחסן את תמונת המצב של הסביבה.

      במדריך הזה, אתם שומרים את התמונה ב-bucket של סביבת Managed Airflow (דור 2), אבל אתם יכולים לבחור מיקום אחר אם אתם רוצים. אם מציינים מיקום בהתאמה אישית, לחשבונות השירות של שני הסביבות צריכות להיות הרשאות קריאה וכתיבה למיקום שצוין.

  2. אחרי שנוצר צילום המסך, ההודעה שמוצגת כוללת את המיקום של צילום המסך. שומרים את המידע הזה כדי להשתמש בו בהמשך כשמעלים את התמונה הזו לסביבת Managed Airflow (דור 3).

    לדוגמה, צילום המסך של המיקום יכול להיראות כך: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

יצירת סביבת Managed Airflow (דור 3)

יוצרים סביבת Managed Airflow (דור 3) לפי ההנחיות הבאות:

  • אתם יכולים להתחיל עם אותה הגדרת מגבלות משאבים כמו בסביבת Managed Airflow (דור 2) ולאחר מכן להרחיב ולבצע אופטימיזציה נוספת של ההגדרה.

  • בסביבות של Managed Airflow (דור 3),‏ Airflow DAG processor פועל כרכיב נפרד של הסביבה. מעבד DAG מעביר את הניתוח של DAGs מהמתזמן, ולכן כדאי להקצות מחדש משאבים שהוקצו בעבר למתזמני Airflow. אפשר לעשות את זה בהמשך, אחרי המעבר ל-Managed Airflow (דור 3), ולעקוב אחרי הביצועים של מתזמן העבודות ומעבד ה-DAG.

  • ‫Managed Airflow (דור 3) מספק הגדרת רשת יעילה ופשוטה יותר בהשוואה ל-Managed Airflow (דור 2). אפשר לעבור בין הגדרות רשת של כתובת IP ציבורית וכתובת IP פרטית, ולצרף ולנתק רשתות VPC. אין צורך לציין טווחי כתובות IP . מוודאים שהגדרות הרשת של סביבת Managed Airflow (דור 3) תואמות להגדרות המתאימות של Managed Airflow (דור 2).

  • אין צורך לציין שינויים בהגדרות ומשתני סביבה, כי מחליפים אותם בהמשך כשמעלים את תמונת המצב של סביבת Managed Airflow (דור 2).

טוענים את תמונת המצב לסביבת Managed Airflow (דור 3)

המסוף

כדי לטעון את התמונה לנקודת זמן לסביבת Managed Airflow (דור 3):

  1. במסוף Google Cloud , עוברים לדף Environments.

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על השם של סביבת Managed Airflow (דור 3). הדף Environment details ייפתח.

  3. לוחצים על טעינת תמונת מצב.

  4. בתיבת הדו-שיח טעינת תמונת מצב, לוחצים על עיון.

  5. בוחרים את התיקייה עם צילום המסך.

    אם משתמשים במיקום ברירת המחדל שמוגדר במדריך הזה, התיקייה הזו נמצאת בקטגוריית הסביבה של Managed Airflow (דור 2) בתיקייה /snapshots, והשם שלה הוא חותמת הזמן של פעולת השמירה של התמונה. אותו מיקום הוצג בהודעה על יצירת התמונה בהצלחה.

    לדוגמה: us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

  6. לוחצים על Load וממתינים עד שהתמונה תטען ב-Managed Airflow.

gcloud

טוענים את תמונת המצב של סביבת Managed Airflow (דור 2) לסביבת Managed Airflow (דור 3):

gcloud composer environments snapshots load \
  COMPOSER_3_ENV \
  --location COMPOSER_3_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

מחליפים את:

  • COMPOSER_3_ENV בשם של סביבת Managed Airflow (דור 3).
  • COMPOSER_3_LOCATION עם האזור שבו נמצאת סביבת Managed Airflow (דור 3).
  • SNAPSHOT_PATH עם ה-URI של דלי בסביבת Managed Airflow (דור 2) שלכם, ואחריו הנתיב לתמונת המצב. אותו מיקום הוצג בהודעה על יצירת התמונה בהצלחה. לדוגמה: gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12.

ביטול ההשהיה של DAG בסביבת Managed Airflow (דור 3)

אפשר להשתמש באחת מהאפשרויות הבאות:

  • ביטול ההשהיה של DAG אחד בכל פעם במסוף Google Cloud :

    1. נכנסים לדף Environments במסוף Google Cloud .

      מעבר אל Environments

    2. בוחרים סביבה כדי לראות את הפרטים שלה.

    3. בדף פרטי הסביבה, עוברים לכרטיסייה DAGs.

    4. לוחצים על השם של DAG.

    5. בדף פרטי DAG, לוחצים על ביטול ההשהיה של DAG.

  • בממשק האינטרנט של Airflow, עוברים אל DAGs ומבטלים את ההשהיה של כל ה-DAGs באופן ידני, אחד אחרי השני.

  • כדי לבטל את ההשהיה של כל ה-DAGs, משתמשים בסקריפט composer_dags:

      python3 composer_dags.py --environment COMPOSER_3_ENV \
      --project PROJECT_ID \
      --location COMPOSER_3_LOCATION \
      --operation unpause
    

    מחליפים את:

    • COMPOSER_3_ENV בשם של סביבת Managed Airflow (דור 3).
    • PROJECT_ID במזהה הפרויקט (Project ID).
    • COMPOSER_3_LOCATION עם האזור שבו הסביבה ממוקמת.

בדיקה אם יש שגיאות ב-DAG

  1. בממשק האינטרנט של Airflow, עוברים אל DAGs ובודקים אם יש שגיאות תחביר שדווחו ב-DAG.

  2. בודקים שהרצות ה-DAG מתוזמנות לשעה הנכונה.

  3. מחכים שהרצת ה-DAG תתבצע בסביבת Managed Airflow (דור 3) ובודקים אם היא הסתיימה בהצלחה. אם הפעלת DAG הסתיימה בהצלחה, אל תבטלו את ההשהיה שלה בסביבת Managed Airflow (דור 2). אם תעשו זאת, תתבצע הפעלת DAG לאותה שעה ולאותו תאריך בסביבת Managed Airflow (דור 2).

  4. אם הפעלת DAG ספציפי נכשלת, צריך לנסות לפתור את הבעיה ב-DAG עד שהוא יפעל בהצלחה ב-Managed Airflow (דור 3).

מעקב אחרי סביבת Managed Airflow (דור 3)

אחרי שמעבירים את כל ה-DAG וההגדרות לסביבת Managed Airflow (דור 3), צריך לעקוב אחרי הסביבה כדי לזהות בעיות פוטנציאליות, הפעלות של DAG שנכשלו ומצב כללי של הסביבה.

אם סביבת Managed Airflow (דור 3) פועלת ללא בעיות במשך תקופה מספיק ארוכה, כדאי למחוק את סביבת Managed Airflow (דור 2).

המאמרים הבאים