שיטות מומלצות לשימוש ב-Dataproc בסביבת ייצור

במסמך הזה נדון בשיטות מומלצות לשימוש ב-Dataproc שיכולות לעזור לכם להריץ משימות עיבוד נתונים מהימנות, יעילות ומעמיקות באשכולות Dataproc בסביבות ייצור.

ציון גרסאות של תמונות אשכול

‫Dataproc משתמש בגרסאות של תמונות כדי לארוז מערכת הפעלה, רכיבים של Big Data ו Google Cloud מחברים בחבילה שמוצבת באשכול. אם לא מציינים גרסת תמונה כשיוצרים אשכול, Dataproc בוחר כברירת מחדל את גרסת התמונה היציבה העדכנית ביותר.

בסביבות ייצור, משייכים את האשכול לגרסה ספציפית של תמונת Dataproc‏ major.minor, כמו שמוצג בפקודה הבאה של ה-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. מידע נוסף זמין במאמר איך פועל ניהול הגרסאות.

גרסאות של תמונות לתצוגה מקדימה של Dataproc

גרסאות משניות חדשות של תמונות Dataproc זמינות בגרסה preview לפני הפרסום במסלול הגרסאות המשניות הרגיל של התמונות. אפשר להשתמש בתמונה לתצוגה מקדימה כדי לבדוק ולאמת את המשימות שלכם מול גרסת תמונה משנית חדשה, לפני שמשתמשים בגרסת התמונה המשנית הרגילה בסביבת הייצור. מידע נוסף זמין במאמר ניהול גרסאות ב-Dataproc.

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

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

שליחת משימות לשירות Dataproc

שליחת משימות לשירות Dataproc באמצעות קריאה ל-jobs.submit באמצעות ה-CLI של gcloud או המסוף Google Cloud . הגדרת הרשאות למשימות ולאשכולות על ידי הענקת תפקידים ב-Dataproc. אפשר להשתמש בתפקידים בהתאמה אישית כדי להפריד בין הגישה לאשכול לבין ההרשאות לשליחת משימות.

היתרונות של שליחת משימות לשירות Dataproc:

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

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

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

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

פעולות אתחול מאפשרות להריץ סקריפטים או להתקין רכיבים באופן אוטומטי כשיוצרים אשכול Dataproc (אפשר לעיין במאגר GitHub‏ dataproc-initialization-actions כדי לראות פעולות אתחול נפוצות של Dataproc). כשמשתמשים בפעולות לאתחול אשכול בסביבת ייצור, מומלץ להעתיק את סקריפטים לאתחול ל-Cloud Storage במקום להשתמש בהם ממאגר ציבורי. השיטה הזו מאפשרת להימנע מהרצת סקריפטים של אתחול שמשתמשים אחרים יכולים לשנות.

מעקב אחרי נתוני הגרסה של Dataproc

ב-Dataproc מתפרסמות באופן קבוע גרסאות חדשות של תמונות משנה. כדי להתעדכן בגרסאות האחרונות של תמונות Dataproc, בהודעות, בשינויים ובתיקונים אחרים, אפשר לעיין בהערות המוצר של Dataproc או להירשם לקבלת עדכונים.

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

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

למידע נוסף