בדף הזה מפורטות הנחיות לאבחון ולפתרון בעיות נפוצות בקישוריות כשמתחברים לאשכולות Dataproc או לעומסי עבודה של Dataproc Serverless לשירות מנוהל של Dataproc Metastore.
תסמינים נפוצים והודעות שגיאה
אם Dataproc נתקל בבעיות קישוריות ל-Dataproc Metastore, יכול להיות שיופיעו שגיאות כמו:
Unable to connect to Hive MetastoreConnection refusedHost unreachablejavax.jdo.JDOExceptionאו שגיאות דומות בחיבור למסד נתונים- שגיאות של פסק זמן כשמנסים לרשום מסדי נתונים או טבלאות, או כששולחים משימות של Spark או Hive שמתקשרות עם Metastore.
סיבות נפוצות ושלבים לפתרון בעיות
בקטע הזה מפורטות סיבות נפוצות לבעיות בקישוריות של Dataproc Metastore, ומוצגים שלבים ספציפיים לפתרון בעיות עבור כל אחת מהן.
1. בעיות בהגדרת הרשת
הסיבה הכי נפוצה לבעיות בחיבור בין עומסי עבודה של Dataproc לבין Dataproc Metastore היא הגדרות שגויות ברשת.
Virtual Private Cloud Network Peering או Private Service Access:
- בדרך כלל ניגשים למופעי Dataproc Metastore באמצעות טווח כתובות IP פרטיות, דרך חיבור של קישור בין רשתות שכנות בענן וירטואלי פרטי (VPC) (במיוחד, גישה לשירותים פרטיים).
- אימות סטטוס ה-Peering: מוודאים שחיבור ה-Peering של הענן הווירטואלי הפרטי בין רשת הענן הווירטואלי הפרטי של עומס העבודה של Dataproc לבין רשת הבעלים של שירות מנוהל של Dataproc Metastore פעיל ותקין. כדי לבדוק את זה, בGoogle Cloud מסוף עוברים אל VPC Network > VPC Network Peering.
- הקצאת טווח כתובות IP: מוודאים שהוקצה טווח מספיק של כתובות IP לגישה לשירותים פרטיים ברשת הענן הווירטואלי הפרטי (VPC).
Firewall Rules:
- מוודאים שכללי חומת האש ברשת של הענן הווירטואלי הפרטי (VPC) של עומס העבודה ב-Dataproc מאפשרים תעבורת נתונים יוצאת ביציאה שמשמשת את Dataproc Metastore (ברירת המחדל היא 9083).
- מוודאים שאין בצד של רשת הבעלים של שירות מנוהל כללי תעבורת נתונים נכנסת (ingress) מגבילים מדי שיחסמו תעבורה מעומס העבודה של Dataproc.
פענוח DNS:
- מוודאים ששם המארח של נקודת הקצה של Metastore (לדוגמה,
your-metastore-endpoint.us-central1.dataproc.cloud.google.com) נפתרת בצורה נכונה לכתובת IP פרטית מאשכול Dataproc או מסביבת Dataproc Serverless. - בעיות בתחומים פרטיים ב-Cloud DNS או בהעברת DNS עלולות לגרום לכשלי פתרון.
- מוודאים ששם המארח של נקודת הקצה של Metastore (לדוגמה,
שלבים לפתרון בעיות (רשת):
- בדיקת פרטי הקישוריות של Dataproc Metastore:
- במסוף Google Cloud , עוברים אל Dataproc Metastore ובוחרים את המופע.
- שימו לב למזהה ה-URI של נקודת הקצה ולרשת שאליה היא מחוברת.
- אימות של שירותי VPC Peering או Private Service Access:
- עוברים אל רשת VPC > קישור בין רשתות VPC שכנות (peering). מאשרים שחיבור ה-Peering אל
servicenetworking-googleapis-comהואACTIVE.
- עוברים אל רשת VPC > קישור בין רשתות VPC שכנות (peering). מאשרים שחיבור ה-Peering אל
- שימוש בבדיקות קישוריות: אפשר להשתמש בבדיקות הקישוריות של Google Cloudכדי לאבחן את נתיב הרשת ממכונה וירטואלית של Compute Engine ברשת המשנה של עומס העבודה של Dataproc לכתובת ה-IP והיציאה של נקודת הקצה של Dataproc Metastore.
- בדיקת יומני חומת האש: אם יש חשד לבעיה בכללי חומת האש, צריך לנתח את יומני חומת האש של Cloud כדי לראות אם יש חיבורים שנדחו.
2. הרשאות IAM
חשבון השירות שבו משתמשת עומס העבודה שלכם ב-Dataproc צריך תפקידי IAM מתאימים כדי לגשת ל-Dataproc Metastore.
- התפקיד הנדרש: לחשבון השירות צריך להיות התפקיד Dataproc Metastore User (
roles/datametastore.user) במופע או בפרויקט של Dataproc Metastore. - הרשאות של סוכן שירות: אם Dataproc ניגש ל-Metastore באופן מרומז, צריך לוודא שלסוכן השירות של Dataproc יש הרשאות מספיקות.
שלבים לפתרון בעיות (IAM):
- זיהוי חשבון השירות: קובעים את חשבון השירות שבו נעשה שימוש באשכול Dataproc או באצווה Dataproc Serverless.
- אימות תפקידי IAM: נכנסים אל IAM & Admin > IAM במסוף Google Cloud .
בודקים את התפקידים שהוקצו לחשבון השירות בפרויקט או במופע של Dataproc Metastore. צריך להעניק את ההרשאה
roles/datametastore.userאם היא חסרה. - פרטים נוספים על הגדרת חשבון שירות זמינים במאמרים הבאים:
3. הגדרת נקודת קצה שגויה
צריך להגדיר את עומס העבודה של Dataproc באמצעות ה-URI הנכון של נקודת הקצה של Dataproc Metastore.
שלבים לפתרון בעיות (נקודת קצה):
- אימות של URI של נקודת קצה: בודקים שוב את מאפיין Spark או כל הגדרה אחרת שמשמשת לציון נקודת הקצה של Dataproc Metastore בשליחת עומס העבודה.
hive.metastore.urisמוודאים שהוא זהה לEndpoint URI מפרטי המופע של Dataproc Metastore.
4. שיקולים נוספים
- סטטוס Metastore: מוודאים שמופע Dataproc Metastore נמצא במצב
HEALTHYבמסוף Google Cloud . אם המצב לא תקין, צריך לטפל קודם בבעיות הפנימיות של Metastore. - תאימות גרסאות: למרות שזה נדיר, צריך לוודא שאין בעיות תאימות ידועות בין גרסת תמונת Dataproc לבין גרסת Dataproc Metastore.
- שרת proxy ל-SQL לעומת שירות מנוהל: אם אתם משתמשים ב-Cloud SQL כ-Metastore באמצעות פעולת האתחול
cloud-sql-proxy.sh, תוכלו לעיין בפתרון הבעיות הספציפי ב-README של פעולת האתחול של שרת proxy ל-Cloud SQL.
המאמרים הבאים
- מעיינים במסמכי Dataproc Metastore.
- אפשר לעיין בתרחישים של שגיאות בחיבור וברשת.
- כדאי לעיין במדריכים הכלליים לפתרון בעיות ברשת: