שיטות מומלצות לשימוש ב-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, כמו שמוצג בפקודה הבאה של gcloud CLI.

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

גרסאות משניות חדשות של תמונות 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 בקובץ ה-JAR הענק של העבודה.

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

פעולות אתחול מאפשרות להריץ סקריפטים או להתקין רכיבים באופן אוטומטי כשיוצרים אשכול Managed Service for Apache Spark (אפשר לעיין במאגר GitHub‏ dataproc-initialization-actions כדי לראות פעולות אתחול נפוצות של 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 או להירשם לקבלת עדכונים.

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

  1. כדי לחקור הודעות שגיאה שקשורות לאשכול ולעבודות, בודקים את מאגר ההמתנה של האשכול. בדרך כלל, המיקום של קטגוריית הביניים ב-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. משתמשים ב-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 שירותי ייעוץ יכולים לספק הנחיות לגבי שיטות מומלצות לפריסות ייצור של הצוות שלכם.

למידע נוסף