בדף הזה מוסבר איך להשתמש בתכונה 'גרסאות עזר' ב-Dataproc Metastore.
גרסאות עזר מאפשרות לקשר בין שתי גרסאות שונות של Hive metastore לשירות Dataproc Metastore יחיד. ההגדרה הזו מאפשרת לכם לתמוך במנועי עיבוד נתונים מרובים שצריכים לפעול בגרסאות שונות של Hive metastore.
לדוגמה, באמצעות גרסאות עזר, אתם יכולים לחבר כמה אשכולות Dataproc לאותו שירות Dataproc Metastore. בהגדרה הזו, באשכול אחד יכולה לפעול גרסה 2.0 של Dataproc, ובאשכול השני יכולה לפעול גרסה 1.5 של Dataproc. אשכול Dataproc 2.0 יכול להתחבר לנקודת קצה שחושפת את Hive גרסה 3.1.2, ואילו אשכול Dataproc 1.5 מתחבר לנקודת קצה שחושפת את Hive גרסה 2.3.6.
איך פועלות גרסאות עזר
כשמפעילים גרסאות עזר, Dataproc Metastore חושף נקודת קצה נפרדת לכל גרסה של Hive metastore. עם זאת, שני נקודות הקצה ממשיכות לשתף את אותה מסד נתונים של מטא-נתונים.
התכונה הזו לא מאפשרת להשתמש בקבוצות שונות של מטא-נתונים עם שירות Dataproc Metastore יחיד. במקום זאת, הוא מאפשר לכם להרחיב ולשפר את התאימות בין השירותים שלכם.
לתשומת ליבכם
כללי
אפשר ליצור רק גרסה משנית אחת לכל שירות Dataproc Metastore.
צריך להגדיר את הגרסה המשנית כך שתשתמש בגרסה נמוכה יותר של Hive metastore מאשר הגרסה הראשית.
לגרסה המשנית יש קובץ יומן נפרד מהגרסה הראשית. כדי לנפות באגים ב-Hive metastore, אפשר להשתמש ב-Cloud Logging.
תמיכה בתכונות
בגרסה המשנית אי אפשר להשתמש בתכונות הבאות:
- ייבוא מטא-נתונים, ייצוא מטא-נתונים
גיבוי מ-Metastore, שחזור של Metastore מגיבוי
אפשר להשתמש בתכונות שקשורות למטא-נתונים (ייבוא, ייצוא, גיבוי ושחזור) רק עם הגרסה הראשית, כי המטא-נתונים של ה-Backend משותפים לשתי הגרסאות.
יכול להיות שחלק מהשיטות של Hive לא יהיו תואמות בין הגרסה המשנית לגרסה הראשית. התאימות הזו תלויה בגרסאות של Hive שבהן אתם משתמשים לגרסאות העיקריות והמשניות, ובשיטות שתואמות בין גרסאות Hive.
לא כל הפונקציות של מופע Dataproc Metastore ראשי נתמכות בגרסה המשנית. לדוגמה, הוספת רשומות לטבלת טרנזקציות של Hive אינה נתמכת באמצעות לקוח Hive 2 שמבצע אינטראקציה עם גרסה 2.3.6 משנית. עם זאת, הפעולה הזו נתמכת בלקוח Hive 3 שמקיים אינטראקציה עם גרסה ראשית 3.1.2.
אם תכונה בגרסת Hive נמוכה יוצאת משימוש בגרסת Hive גבוהה יותר, אז הגרסה הנמוכה התואמת לא תתמוך בתכונה שיצאה משימוש. לדוגמה, Hive 2 תומך באינדקסים, אבל גרסה משנית שמריצה Hive 2.3.6 לא תתמוך באינדקס אם הגרסה הראשית מריצה Hive 3.1.2.
אי אפשר ליצור טבלאות טרנזקציות באמצעות הגרסה המשנית או להוסיף נתונים לטבלאות טרנזקציות בגרסה המשנית.
מאפיינים משותפים בין גרסאות
כשיוצרים גרסה משנית, חלק מהמאפיינים משותפים ונשארים זהים בין הגרסה המשנית לגרסה הראשית. מאפיינים אחרים לא משותפים ונפרדים בין שתי הגרסאות.
בטבלה הבאה מפורטים ההבדלים האלה.
| מאפיינים | נפוץ | נפרד |
|---|---|---|
| נקודת קצה (endpoint) | ✓ | |
| החלפת הגדרות ברירת המחדל של Hive* | ✓ | |
| הגדרת Kerberos | ✓ | |
| פרוטוקול נקודת הקצה (Thrift/gRPC) | ✓ | |
| יציאת Thrift | ✓ | |
| קטגוריית Cloud Storage של ארטיפקטים | ✓ | |
| רמה | ✓ | |
| חלון זמן לתחזוקה | ✓ | |
| ערוץ הפצה | ✓ | |
| הגדרת הצפנה | ✓ | |
| סוג מסד הנתונים | ✓ | |
| המתג של סנכרון Data Catalog | ✓ | |
| מדד של מספר הבקשות | ✓ | |
| הגדרות רשת | ✓ |
* ההגדרות שמוגדרות ב-Hive נשארות נפרדות בין הגרסה המשנית לגרסה הראשית. עם זאת, הגרסה המשנית מפנה לרשימה משולבת של שינויים (ראשוניים+משניים). במקרה כזה, ההגדרה המשנית תקבל עדיפות על פני ההגדרה הראשית.
לפני שמתחילים
תפקידים נדרשים
כדי לקבל את ההרשאה שדרושה ליצירת Dataproc Metastore שמשתמש בגרסאות עזר, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט, בהתאם לעיקרון של הרשאות מינימליות:
-
הענקת שליטה מלאה במשאבי Dataproc Metastore (
roles/metastore.editor) -
מתן גישה מלאה לכל משאבי Dataproc Metastore, כולל ניהול מדיניות IAM (
roles/metastore.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה metastore.services.create, שנדרשת כדי ליצור Dataproc Metastore שמשתמש בגרסאות עזר.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
מידע נוסף על תפקידים והרשאות ספציפיים ב-Dataproc Metastore זמין במאמר ניהול גישה ל-Dataproc באמצעות IAM.יצירת גרסה משנית לשירות חדש
בדוגמה הבאה מוצגת גרסה מקוצרת של השלבים שצריך לבצע כדי להפעיל גרסאות עזר. הוראות מפורטות לכל התהליך זמינות במאמר יצירת Dataproc Metastore.
המסוף
במסוף Google Cloud , פותחים את הדף Dataproc Metastore:
בראש הדף Dataproc Metastore, לוחצים על הלחצן יצירה.
ייפתח הדף Create service.
בקטע Auxiliary version config (הגדרת גרסה משנית), מפעילים גרסאות משניות.
לוחצים על הוספת גרסה משנית.
מזינים שם לגרסה המשנית.
בוחרים גרסה לגרסה המשנית.
אופציונלי: כדי להחיל מיפוי על הגרסה המשנית, לוחצים על + הוספת שינויים.
לוחצים על סיום.
בוחרים את שאר ההגדרות של השירות לפי הצורך.
לוחצים על שליחה.
CLI של gcloud
כדי ליצור שירות Dataproc Metastore עם גרסה עזר, מריצים אחת מהפקודות הבאות של
gcloud metastore services create:gcloud metastore services create SERVICE \ --location=LOCATION \ --auxiliary-versions=AUXILIARY_VERSIONS, ...-
SERVICE: השם של שירות Dataproc Metastore. -
LOCATION: האזור שבו רוצים ליצור את שירות Dataproc Metastore. -
AUXILIARY_VERSIONS: רשימה מופרדת בפסיקים של גרסאות Hive metastore לפריסה בגרסה המשנית. יש תמיכה רק בגרסה משנית אחת. צריך להשתמש בפורמט הבא:"2.3.6". -
AUXILIARY_VERSIONS_FROM_FILE: נתיב לקובץ YAML שמכיל את הגדרת הגרסאות הנוספות. מידע נוסף ודוגמה זמינים במאמרי העזרה בנושא SDK.
-
מוודאים שהיצירה הצליחה.
curl
כדי ליצור שירות Dataproc Metastore עם גרסה עזר, משתמשים בשיטה create.
curl -X POST -s -i \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{"network":"projects/PROJECT_ID/global/networks/default", "port": 9083, "hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION"} } } }' \
-H "Content-Type:application/json" \
https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_ID: השם של שירות Dataproc Metastore החדש. -
PROJECT_ID: מזהה הפרויקט שבו אתם יוצרים את שירות Dataproc Metastore. Google Cloud -
LOCATION: האזור שבו נמצא Dataproc Metastore. -
AUX_VERSIONS: רשימה מופרדת בפסיקים של גרסאות של Hive Metastore לפריסה. יש תמיכה רק בגרסה משנית אחת.
עדכון של גרסה משנית לשירות קיים
בהוראות הבאות מוסבר איך לעדכן שירות Dataproc Metastore קיים שמשתמש בגרסאות עזר.
כשמריצים פעולת עדכון, אפשר לבצע את המשימות הבאות:
- להוסיף גרסה חדשה של שיר בעזרת תכונת העזר.
- מחיקה של גרסה משנית קיימת.
הוספה או שינוי של חריגות בגרסה משנית קיימת.
המסוף
במסוף Google Cloud , פותחים את הדף Dataproc Metastore:
בדף Dataproc Metastore, לוחצים על שם השירות שרוצים לעדכן.
ייפתח הדף פרטי השירות.
בכרטיסייה Configuration (הגדרה), לוחצים על Edit (עריכה).
ייפתח הדף עריכת השירות.
בקטע Auxiliary version config (הגדרת גרסה משנית), לוחצים על המתג כדי להפעיל או להשבית גרסאות משניות.
אפשר לבצע את המשימות הבאות:
כדי למחוק גרסה קיימת של קובץ עזר, לוחצים על מחיקה.
כדי להוסיף גרסה משנית חדשה, לוחצים על הוספת גרסה משנית.
כדי להחיל מיפוי של שינוי ברירת המחדל על גרסה משנית, לוחצים על + הוספת שינויים.
לוחצים על שליחה.
CLI של gcloud
כדי לעדכן שירות Dataproc Metastore שמשתמש בגרסה משנית, מריצים אחת מהפקודות הבאות של
gcloud metastore services update:gcloud metastore services update SERVICE \ --location=LOCATION \ --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
או
gcloud metastore services update SERVICE \ --location=LOCATION \ --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם של שירות Dataproc Metastore. -
LOCATION: האזור שבו נמצא Dataproc Metastore. -
AUXILIARY_VERSIONS: רשימה מופרדת בפסיקים של גרסאות Hive metastore משניות לפריסה. -
AUXILIARY_VERSIONS_FROM_FILE: נתיב לקובץ YAML שמכיל את הגדרת הגרסאות הנוספות. מידע נוסף ודוגמה זמינים במסמכי ה-SDK.
-
מוודאים שהעדכון בוצע בהצלחה.
curl
כדי לעדכן שירות Dataproc Metastore שמשתמש בגרסה משנית, משתמשים בשיטה patch.
curl -X PATCH -s -i \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{"hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION} } } }' \
-H "Content-Type:application/json" \
https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_ID: השם של שירות Dataproc Metastore. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud שבו אתם יוצרים את אשכול השירות Dataproc Metastore. -
LOCATION: האזור שבו נמצא Dataproc Metastore. -
AUX_VERSIONS: רשימה מופרדת בפסיקים של גרסאות Hive metastore משניות לפריסה.