במסמך הזה נדון בשיטות מומלצות לשימוש ב-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 או להירשם לקבלת עדכונים.
צפייה בקטגוריית הביניים כדי לחקור כשלים
כדי לחקור הודעות שגיאה שקשורות לאשכול ולעבודות, כדאי לבדוק את מאגר ההכנה של האשכול. בדרך כלל, המיקום של קטגוריית הביניים ב-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
כדי להציג את התוכן של באקט ההעברה הזמנית, משתמשים ב-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 שירותי ייעוץ יכולים לספק הנחיות לגבי שיטות מומלצות לפריסות ייצור של הצוות שלכם.
למידע נוסף
כדאי לקרוא את Google Cloud הבלוג Dataproc best practices guide.
צפייה בסרטון Democratizing Dataproc ב-YouTube.