שיטות מומלצות לשימוש ב-Managed Service for Apache Spark בסביבת ייצור

במאמר הזה נסביר על השיטות המומלצות לשימוש ב-Managed Service for Apache Spark, שיעזרו לכם להריץ משימות אמינות, יעילות ומעמיקות של עיבוד נתונים באשכולות של Managed Service for Apache Spark בסביבות ייצור.

ציון גרסאות של קובצי אימג' של אשכולות

ב-Managed Service for Apache Spark, גרסאות של קובצי אימג' משמשות כדי לאגד את מערכת ההפעלה, רכיבי Big Data ו Google Cloud מחברים לחבילה שנפרסת באשכול. אם לא מציינים גרסת קובץ אימג' כשיוצרים אשכול, Managed Service for Apache Spark משתמש כברירת מחדל בגרסת קובץ האימג' היציבה האחרונה.

בסביבות ייצור, משייכים את האשכול לגרסת אימג' ספציפית של major.minor Managed Service for Apache Spark, כמו שמוצג בפקודה הבאה של ה-CLI של gcloud.

gcloud dataproc clusters create CLUSTER_NAME \
    --region=region \
    --image-version=2.0

‫Dataproc פותר את הגרסה major.minor לגרסת המשנה הקטנה ביותר (2.0 נפתרת ל-2.0.x). הערה: אם אתם צריכים להסתמך על גרסת משנה קטנה ספציפית לאשכול, אתם יכולים לציין אותה: לדוגמה, --image-version=2.0.x. מידע נוסף זמין במאמר איך פועל ניהול הגרסאות.

גרסאות אימג' של Managed Service for Apache Spark בגרסת טרום-השקה (Preview)

גרסאות משניות חדשות של קובצי אימג' של Managed Service for Apache Spark זמינות בגרסת preview לפני שהן מתפרסמות במסלול הרגיל של גרסאות משניות של קובצי אימג'. כדאי להשתמש בגרסת טרום-השקה של קובץ אימג' כדי לבדוק ולאמת את המשימות מול גרסת משנה חדשה של קובץ אימג', לפני שמאמצים את גרסת המשנה הרגילה של קובץ האימג' בסביבת הייצור. מידע נוסף זמין במאמר ניהול גרסאות של Managed Service for Apache Spark.

שימוש בתמונות בהתאמה אישית לפי הצורך

אם יש לכם יחסי תלות שצריך להוסיף לאשכול, כמו ספריות Python מקוריות, או תוכנות להקשחת אבטחה או להגנה מפני וירוסים, צרו קובץ אימג' בהתאמה אישית מקובץ האימג' האחרון במסלול גרסת האימג' המשנית שלכם. כך תוכלו לעמוד בדרישות של יחסי התלות כשאתם יוצרים אשכולות באמצעות קובץ האימג' בהתאמה אישית. כשאתם בונים מחדש את קובץ האימג' בהתאמה אישית כדי לעדכן את דרישות התלות, השתמשו בגרסת המשנה הזמינה האחרונה של קובץ האימג' בתוך גרסת המשנה של קובץ האימג'.

שליחת משימות ל-Managed Service for Apache Spark

שולחים משימות ל-Managed Service for Apache Spark באמצעות קריאה ל-jobs.submit דרך ה-CLI של gcloud או מסוף Google Cloud . כדי להגדיר הרשאות למשימות ולאשכולות, צריך להקצות תפקידים ב-Managed Service for Apache Spark. כדי להפריד בין הגישה לאשכול לבין הרשאות לשליחת משימות, השתמשו בתפקידים בהתאמה אישית.

יתרונות של שליחת משימות ל-Managed Service for Apache Spark:

  • לא צריך הגדרות רשת מסובכות – ה-API נגיש באופן נרחב
  • קל לנהל את ההרשאות והתפקידים ב-IAM
  • מעקב קל אחרי סטטוס המשימה – אין מטא-נתונים של משימות ב-Managed Service for Apache Spark שיכולים לסבך את התוצאות.

בסביבת הייצור, מריצים משימות שתלויות רק ביחסי תלות ברמת האשכול בגרסת תמונה משנית קבועה (לדוגמה, --image-version=2.0). מקבצים יחסי תלות עם משימות כששולחים את המשימות. דרך נפוצה לעשות זאת היא לשלוח uber jar ל-Spark או ל-MapReduce.

  • לדוגמה: אם קובץ JAR של משימה תלוי ב-args4j וב-spark-sql, כאשר args4j ספציפי למשימה ו-spark-sql הוא תלות ברמת האשכול, צריך לארוז את args4j בקובץ ה-uber JAR של המשימה.

שליטה במיקומים של פעולות אתחול

פעולות אתחול מאפשרות להריץ סקריפטים או להתקין רכיבים באופן אוטומטי כשיוצרים אשכול Managed Service for Apache Spark (במאגר dataproc-initialization-actions ב-GitHub מפורטות פעולות אתחול נפוצות של Managed Service for Apache Spark). כשמשתמשים בפעולות אתחול של אשכול בסביבת ייצור, צריך להעתיק את הסקריפטים של האתחול ל-Cloud Storage במקום להשתמש במקור ממאגר ציבורי. כך נמנעת הפעלה של סקריפטים לאתחול שאחרים יכולים לשנות.

מעקב אחרי הערות המוצר של Managed Service for Apache Spark

ב-Managed Service for Apache Spark מתפרסמות באופן קבוע גרסאות משנה חדשות של קובצי אימג'. כדי להתעדכן בגרסאות האחרונות של Managed Service for Apache Spark ובהודעות, שינויים ותיקונים אחרים, אתם יכולים להירשם לנתוני הגרסה של Managed Service for Apache Spark.

צפייה בקטגוריית ה-Staging כדי לחקור כשלים

  1. כדי לחקור הודעות שגיאה של אשכולות ומשימות, אפשר להסתכל על קטגוריית ה-Staging של האשכול. בדרך כלל, המיקום של קטגוריית ה-Staging ב-Cloud Storage מוצג בהודעות השגיאה, כמו שמוצג בטקסט המודגש בהודעת השגיאה לדוגמה הבאה:

    ERROR:
    (gcloud.dataproc.clusters.create) Operation ... failed:
    ...
    - Initialization action failed. Failed action ... see output in:
    gs://dataproc-<BUCKETID>-us-central1/google-cloud-dataproc-metainfo/CLUSTERID/<CLUSTER_ID>\dataproc-initialization-script-0_output
     

  2. כדי לראות את התוכן של קטגוריית ה-Staging, משתמשים ב-CLI של gcloud:

    gcloud storage cat gs://STAGING_BUCKET
    
    פלט לדוגמה:
    + readonly RANGER_VERSION=1.2.0
    ... Ranger admin password not set. Please use metadata flag - default-password
    

פנייה לתמיכה

‫Google Cloud תומך בעומסי העבודה של OSS בסביבת הייצור, ועוזר לכם לעמוד בהסכמי ה-SLA של העסק באמצעות רמות תמיכה. בנוסף, אפשר לקבל הדרכה לגבי השיטות המומלצות לפריסות בסביבת הייצור של הצוות שלכם באמצעות שירותי ייעוץ. Google Cloud

למידע נוסף