אחרי שיוצרים שירות Dataproc Metastore, אפשר לצרף כל אחד מהשירותים הבאים:
- אשכול Dataproc.
- מופע Apache Hive בניהול עצמי, מופע Apache Spark או אשכול Presto.
אחרי שמקשרים אחד מהשירותים האלה, הוא משתמש בשירות Dataproc Metastore בתור Hive metastore במהלך ביצוע השאילתה.
לפני שמתחילים
- מפעילים את Dataproc Metastore בפרויקט.
- יוצרים שירות Dataproc Metastore.
- הסבר על דרישות הרשת שספציפיות לפרויקט שלכם.
תפקידים נדרשים
כדי לקבל את ההרשאות שדרושות ליצירת Dataproc Metastore ואשכול Dataproc, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי להעניק שליטה מלאה במשאבי Dataproc Metastore, אפשר:
-
עורך של Dataproc Metastore (
roles/metastore.editor) בחשבון המשתמש או בחשבון השירות -
Dataproc Metastore Admin (
roles/metastore.admin) בחשבון המשתמש או בחשבון השירות
-
עורך של Dataproc Metastore (
-
כדי ליצור אשכול Dataproc:
(
roles/dataproc.worker) בחשבון השירות של מכונת Dataproc הווירטואלית -
כדי לתת הרשאות קריאה וכתיבה לספריית מחסן הנתונים של Hive:
(
roles/storage.objectAdmin) בחשבון השירות של המכונה הווירטואלית ב-Dataproc
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות ליצירת Dataproc Metastore ו-Dataproc cluster. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור Dataproc Metastore ואשכול Dataproc, צריך את ההרשאות הבאות:
-
כדי ליצור Dataproc Metastore:
metastore.services.createבחשבון המשתמש או בחשבון השירות -
כדי ליצור אשכול Dataproc:
dataproc.clusters.createבחשבון המשתמש או בחשבון השירות -
כדי לגשת לספריית מחסן הנתונים של Hive:
בחשבון השירות של המכונה הווירטואלית ב-Dataprocorgpolicy.policy.get1,resourcemanager.projects.get,resourcemanager.projects.list,storage.objects.*,storage.multipartUploads.*
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף על תפקידים והרשאות ספציפיים ב-Dataproc Metastore זמין במאמר ניהול גישה באמצעות IAM.אשכולות Dataproc
Dataproc הוא שירות מנוהל של Apache Spark ו-Apache Hadoop שמאפשר לכם להשתמש בכלים לנתונים בקוד פתוח לעיבוד ברצף (batch processing), לשליחת שאילתות, להעברת נתונים בסטרימינג וללמידת מכונה.
לתשומת ליבכם
לפני שיוצרים ומצרפים אשכול Dataproc, צריך לבדוק באיזה פרוטוקול של נקודת קצה משתמש שירות Dataproc Metastore. הפרוטוקול הזה מגדיר איך לקוחות Hive Metastore ניגשים למטא-נתונים שמאוחסנים ב-Dataproc Metastore. הבחירה הזו יכולה להשפיע גם על התכונות שאפשר לשלב ולהשתמש בהן בשירות.
Apache Thrift
אם אתם משתמשים בפרוטוקול נקודת הקצה של Apache Thrift, כדאי להביא בחשבון את דרישות הרשת הבאות:
כברירת מחדל, מומלץ ליצור את אשכול Dataproc ואת שירות Dataproc Metastore באותה רשת. אפשר גם להשתמש ברשת משנה של רשת שירות Dataproc Metastore באשכול Dataproc.
אם אשכול Dataproc שייך לפרויקט אחר מהרשת, צריך להגדיר הרשאות לרשת משותפת.
אם אשכול Dataproc שייך לפרויקט אחר משירות Dataproc Metastore, צריך להגדיר הרשאות נוספות לפני שיוצרים אשכול Dataproc.
gRPC
אם אתם משתמשים בפרוטוקול נקודת הקצה gRPC, כדאי להביא בחשבון את דרישות הרשת הבאות:
אחרי שיוצרים Dataproc Metastore באמצעות פרוטוקול נקודת הקצה של gRPC, צריך להעניק תפקידי IAM נוספים.
אם אתם משתמשים באימות אישי של אשכול Dataproc, Dataproc Metastore צריך להשתמש בפרוטוקול של נקודת הקצה gRPC.
אם אשכול Dataproc שייך לפרויקט אחר משירות Dataproc Metastore, צריך להגדיר הרשאות נוספות לפני שיוצרים אשכול Dataproc.
יצירת אשכול וצירוף Dataproc Metastore
בהוראות הבאות מוסבר איך ליצור אשכול Dataproc ולקשר אותו לשירות Dataproc Metastore. ההוראות האלה מניחות שכבר יצרתם שירות Dataproc Metastore.
- לפני שיוצרים את אשכול Dataproc, צריך לוודא שתמונת Dataproc שבחרתם תואמת לגרסת Hive Metastore שבחרתם כשנוצר Dataproc Metastore. מידע נוסף זמין במאמר רשימת הגרסאות של תמונות Dataproc.
כדי לבצע אופטימיזציה של קישוריות הרשת, יוצרים את אשכול Dataproc באותו אזור שבו נמצא שירות Dataproc Metastore.
המסוף
במסוף Google Cloud , פותחים את הדף Dataproc Create a cluster:
בשדה שם האשכול, מזינים שם לאשכול.
בתפריטים Region ו-Zone, בוחרים את אותו אזור שבו יצרתם את שירות Dataproc Metastore. אפשר לבחור כל אזור.
לוחצים על הכרטיסייה התאמה אישית של האשכול.
בקטע Network configuration (הגדרת רשת), בוחרים את אותה רשת שבה יצרתם את שירות Dataproc Metastore.
בקטע Dataproc Metastore, בוחרים את שירות Dataproc Metastore שרוצים לצרף. אם עדיין לא יצרתם חשבון, אתם יכולים לבחור באפשרות יצירת שירות חדש.
כך שישתמשו באותו אזור.אופציונלי: אם שירות Dataproc Metastore שלכם משתמש בפרוטוקול נקודת הקצה gRPC:
- לוחצים על הכרטיסייה ניהול אבטחה.
- בקטע Project Access, בוחרים באפשרות Enable the cloud-platform scope for this cluster.
מגדירים את שאר האפשרויות של השירות לפי הצורך.
כדי ליצור את האשכול, לוחצים על Create.
האשכול החדש יופיע ברשימת האשכולות. סטטוס האשכול מופיע כהקצאת משאבים עד שהאשכול מוכן לשימוש. כשהוא מוכן לשימוש, הסטטוס שלו משתנה לפועל.
CLI של gcloud
כדי ליצור אשכול ולצרף אליו Dataproc Metastore, מריצים את הפקודה הבאה של gcloud dataproc clusters create:
gcloud dataproc clusters create CLUSTER_NAME \
--dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
--region=LOCATION \
--scopes=SCOPESמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של אשכול Dataproc החדש. -
PROJECT_ID: מזהה הפרויקט שבו יצרתם את שירות Dataproc Metastore. -
LOCATION: אותו אזור שבו יצרתם את שירות Dataproc Metastore. -
SERVICE: השם של שירות Dataproc Metastore שמצרפים לאשכול. -
SCOPES: (אופציונלי) אם שירות Dataproc Metastore משתמש בפרוטוקול של נקודת הקצה gRPC, צריך להשתמש ב-cloud-platform.
REST
פועלים לפי ההוראות של ה-API כדי ליצור אשכול באמצעות APIs Explorer.
צירוף אשכול באמצעות מאפייני אשכול Dataproc
אפשר גם לצרף אשכול Dataproc ל-Dataproc Metastore באמצעות מאפייני Dataproc.
המאפיינים האלה כוללים את Dataproc Metastore ENDPOINT_URI ואת WAREHOUSE_DIR.
הוראות אלה מיועדות לשימוש אם שירות Dataproc Metastore שלכם משתמש ב-Private Service Connect, או אם אתם רוצים לצרף אשכול Dataproc לגרסה העזר של שירות Dataproc Metastore.
יש שתי דרכים לצרף אשכול Dataproc באמצעות המאפיינים ENDPOINT_URI ו-WAREHOUSE_DIR:
אפשרות 1: במהלך יצירת אשכול Dataproc
כשיוצרים אשכול Dataproc, משתמשים בדגל properties עם הגדרת Hive הבאה.
gcloud dataproc clusters create CLUSTER_NAME \
--properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של אשכול Dataproc החדש. -
ENDPOINT_URI: ה-URI של נקודת הקצה של שירות Dataproc Metastore. -
WAREHOUSE_DIR: המיקום של ספריית מחסן הנתונים של Hive.
אפשרות 2: עדכון הקובץ hive-site.xml
אפשר גם לצרף אשכול Dataproc על ידי שינוי ישיר של קובץ hive-site.xml של האשכול.
- מתחברים לאשכול
.*-mבאמצעות SSH. פותחים את הקובץ
/etc/hive/conf/hive-site.xmlומשנים את השורות הבאות:<property> <name>hive.metastore.uris</name> <!-- Update this value. --> <value>ENDPOINT_URI</value> </property> <!-- Add this property entry. --> <property> <name>hive.metastore.warehouse.dir</name> <value>WAREHOUSE_DIR</value> </property>מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_URI: ה-URI של נקודת הקצה של שירות Dataproc Metastore. -
WAREHOUSE_DIR: המיקום של ספריית מחסן הנתונים של Hive.
-
מפעילים מחדש את HiveServer2:
sudo systemctl restart hive-server2.service
אשכולות בניהול עצמי
אשכול בניהול עצמי יכול להיות מופע של Apache Hive, מופע של Apache Spark או אשכול של Presto.
צירוף אשכול בניהול עצמי
מגדירים את הערכים הבאים בקובץ התצורה של הלקוח:
hive.metastore.uris=ENDPOINT_URIhive.metastore.warehouse.dir=WAREHOUSE_DIR
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_URI: ה-URI של נקודת הקצה של שירות Dataproc Metastore. -
WAREHOUSE_DIR: המיקום של ספריית מחסן הנתונים של Hive.