Dataproc Hub הוא שרת JupyterHub בהתאמה אישית. אדמינים יכולים להגדיר וליצור מופעים של Dataproc Hub שיכולים ליצור אשכולות של משתמש יחיד ב-Managed Service for Apache Spark כדי לארח סביבות מחברת של Jupyter ושל JupyterLab (ראו שימוש ב-Dataproc Hub).
הפעלת מחברות לכמה משתמשים אתם יכולים ליצור מכונה של Vertex AI Workbench עם Managed Service for Apache Spark או להתקין את הפלאגין Managed Service for Apache Spark JupyterLab במכונה וירטואלית כדי להציג מחברות למספר משתמשים.
מטרות
מגדירים תצורה של אשכול Managed Service for Apache Spark (או משתמשים באחד מקובצי ההגדרות המוגדרים מראש).
מגדירים משתני סביבה של מופע Dataproc Hub.
יוצרים מכונת Dataproc Hub.
לפני שמתחילים
אם עדיין לא עשיתם זאת, יוצרים Google Cloud פרויקט וקטגוריה של Cloud Storage.
הגדרת הפרויקט
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init
יצירת קטגוריה ב-Cloud Storage בפרויקט שלכם כדי לאחסן את הנתונים שמשמשים במדריך הזה.
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
- לוחצים על יצירה.
- ממלאים את פרטי הקטגוריה בדף Create a bucket. כדי לעבור לשלב הבא לוחצים על Continue.
-
בקטע Get started (תחילת העבודה), מבצעים את הפעולות הבאות:
- מזינים שם ייחודי בהיקף גלובלי שעומד בקריטריונים לשמות של קטגוריות.
- כדי להוסיף תווית לדלי, מרחיבים את הקטע Labels (תוויות) (), לוחצים על add_box
Add label (הוספת תווית) ומציינים
keyו-valueבשביל התווית.
-
בקטע Choose where to store your data, מבצעים את הפעולות הבאות:
- בוחרים סוג מיקום.
- בתפריט הנפתח Location type, בוחרים מיקום שבו יישמרו נתוני הקטגוריה באופן קבוע.
- אם בוחרים את סוג המיקום בשני אזורים, אפשר גם להפעיל רפליקציה בקצב טורבו באמצעות תיבת הסימון הרלוונטית.
- כדי להגדיר שכפול בין מאגרי מידע, בוחרים באפשרות הוספת שכפול בין מאגרי מידע באמצעות Storage Transfer Service ופועלים לפי השלבים הבאים:
הגדרה של רפליקציה בין מאגרי מידע
- בתפריט Bucket, בוחרים באפשרות הרצויה.
בקטע הגדרות השכפול, לוחצים על הגדרה כדי להגדיר את ההגדרות של משימת השכפול.
מופיעה החלונית Configure cross-bucket replication.
- כדי לסנן אובייקטים לשכפול לפי קידומת של שם האובייקט, מזינים קידומת שרוצים לכלול או להחריג אובייקטים ממנה, ואז לוחצים על הוספת קידומת.
- כדי להגדיר סוג אחסון לאובייקטים המשוכפלים, בוחרים סוג אחסון בתפריט סוג אחסון. אם מדלגים על השלב הזה, האובייקטים המשוכפלים ישתמשו בסוג האחסון של קטגוריית היעד כברירת מחדל.
- לוחצים על סיום.
-
בקטע Choose how to store your data, מבצעים את הפעולות הבאות:
- בוחרים default storage class לקטגוריה או Autoclass לניהול אוטומטי של סוג האחסון (storage class) של נתוני הקטגוריה.
- כדי להפעיל מרחב שמות היררכי, בקטע Optimize storage for data-intensive workloads, בוחרים באפשרות Enable hierarchical namespace on this bucket.
- בקטע Choose how to control access to objects, בוחרים אם הקטגוריה אוכפת public access prevention או לא, ואז בוחרים שיטת בקרת גישה לאובייקטים של הקטגוריה.
-
בקטע Choose how to protect object data, מבצעים את הפעולות הבאות:
- בוחרים באחת מהאפשרויות בקטע הגנה על נתונים שרוצים להגדיר לקטגוריה.
- כדי להפעיל מחיקה עם יכולת שחזור, מסמנים את התיבה מדיניות מחיקה עם יכולת שחזור (לשחזור נתונים) ומציינים את מספר הימים שבהם רוצים לשמור אובייקטים אחרי המחיקה.
- כדי להגדיר ניהול גרסאות של אובייקטים, מסמנים את התיבה ניהול גרסאות של אובייקטים (לשליטה בגרסאות) ומציינים את מספר הגרסאות המקסימלי לכל אובייקט ואת מספר הימים שאחריהם הגרסאות הלא עדכניות יפוגו.
- כדי להפעיל את מדיניות שמירת הנתונים על אובייקטים וקטגוריות, לוחצים על תיבת הסימון שמירת נתונים (לצורך תאימות), ואז מבצעים את הפעולות הבאות:
- כדי להפעיל את הנעילה של שמירת אובייקטים, מסמנים את התיבה הפעלת שמירת אובייקטים.
- כדי להפעיל את נעילת הקטגוריה, מסמנים את תיבת הסימון הגדרת מדיניות שמירת נתונים בקטגוריה ובוחרים יחידת זמן ואת משך הזמן של תקופת השמירה.
- כדי לבחור איך להצפין את נתוני האובייקט, מרחיבים את הקטע Data encryption () ובוחרים Data encryption method.
- בוחרים באחת מהאפשרויות בקטע הגנה על נתונים שרוצים להגדיר לקטגוריה.
-
בקטע Get started (תחילת העבודה), מבצעים את הפעולות הבאות:
- לוחצים על יצירה.
הגדרת תצורת אשכול
מופע של Dataproc Hub יוצר אשכול מתוך ערכי ההגדרה שמופיעים בקובץ הגדרת אשכול ב-YAML.
בהגדרת האשכול אפשר לציין כל תכונה או רכיב שזמינים באשכולות של Managed Service for Apache Spark (כמו סוג המכונה, פעולות ההפעלה ורכיבים אופציונליים). גרסת התמונה של האשכול צריכה להיות 1.4.13 ומעלה. ניסיון ליצור אשכול עם גרסת תמונה נמוכה מ-1.4.13 יגרום לשגיאה ולכשל.
קובץ לדוגמה של הגדרת אשכול YAML
clusterName: cluster-name
config:
softwareConfig:
imageVersion: 2.2-ubuntu22
optionalComponents:
- JUPYTER
צריך לשמור כל הגדרה ב-Cloud Storage. אתם יכולים ליצור ולשמור כמה קובצי תצורה כדי לתת למשתמשים אפשרות בחירה כשהם משתמשים ב-Dataproc Hub כדי ליצור סביבת מחברת של שירות מנוהל ל-Apache Spark.
יש שתי דרכים ליצור קובץ תצורת אשכול ב-YAML:
יצירת קובץ תצורת אשכול YAML מהמסוף
- פותחים את הדף Create a cluster במסוף Google Cloud , ואז בוחרים את השדות וממלאים אותם כדי לציין את סוג האשכול ש-Dataproc Hub ייצור בשביל המשתמשים.
- בחלק התחתון של החלונית הימנית, לוחצים על 'מקבילה של REST'.
- מעתיקים את בלוק ה-JSON שנוצר, לא כולל השורה הראשונה של בקשת ה-POST, ואז מדביקים את בלוק ה-JSON בכלי אונליין להמרה מ-JSON ל-YAML (אפשר לחפש באינטרנט את המחרוזת 'המרת JSON ל-YAML').
- מעתיקים את קובץ ה-YAML שהומר לקובץ cluster-config-filename.yaml מקומי.
ייצוא של קובץ הגדרות מקבץ קיים בפורמט YAML
- יוצרים אשכול שמתאים לדרישות שלכם.
- מייצאים את הגדרות האשכול לקובץ cluster-config-filename.yaml מקומי.
gcloud dataproc clusters export cluster-name \ --destination cluster-config-filename.yaml \ --region region
שמירת קובץ התצורה של YAML ב-Cloud Storage
מעתיקים את קובץ התצורה של אשכול ה-YAML המקומי לקטגוריה של Cloud Storage.
gcloud storage cp cluster-config-filename.yaml gs://bucket-name/
הגדרת משתני סביבה של מופע Dataproc Hub
האדמין יכול להגדיר את משתני הסביבה של ה-Hub שמפורטים בטבלה שלמטה, כדי להגדיר מאפיינים של אשכולות Managed Service for Apache Spark שייווצרו על ידי משתמשי ה-Hub.
| משתנה | תיאור | דוגמה |
|---|---|---|
| NOTEBOOKS_LOCATION | קטגוריה של Cloud Storage או תיקייה בקטגוריה שמכילה מחברות של משתמשים. הקידומת `gs://` היא אופציונלית. ברירת מחדל: קטגוריית הביניים של Managed Service for Apache Spark. | gs://bucket-name/ |
| DATAPROC_CONFIGS | רשימה של מחרוזות שמופרדות בפסיקים של הנתיבים ב-Cloud Storage אל קובצי ההגדרות של אשכול YAML. הקידומת `gs://`
היא אופציונלית. ברירת מחדל: gs://dataproc-spawner-dist/example-configs/. שמכיל את הערכים המוגדרים מראש example-cluster.yaml ו-example-single-node.yaml.
|
gs://cluster-config-filename.yaml |
| DATAPROC_LOCATIONS_LIST | סיומות של אזורים באזור שבו ממוקם מופע Dataproc Hub. המשתמשים יכולים לבחור אחד מהאזורים האלה כאזור שבו ייווצר אשכול Managed Service for Apache Spark. ברירת מחדל: b. | b,c,d |
| DATAPROC_DEFAULT_SUBNET | רשת משנה שבה ייווצרו מופעים של Dataproc Hub לאשכולות של Managed Service for Apache Spark. ברירת מחדל: תת-הרשת של מופע Dataproc Hub. | https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name |
| DATAPROC_SERVICE_ACCOUNT | חשבון שירות שהמכונות הווירטואליות של Managed Service for Apache Spark יפעלו דרכו. ברירת מחדל: אם לא מוגדר, נעשה שימוש בחשבון השירות שמוגדר כברירת מחדל ב-Managed Service for Apache Spark. | service-account@project-id.iam.gserviceaccount.com |
| SPAWNER_DEFAULT_URL | האם להציג את ממשק המשתמש של Jupyter או JupyterLab באשכולות של Managed Service for Apache Spark שנוצרו כברירת מחדל. ברירת מחדל: /lab. | `/` או `/lab`, בהתאמה ל-Jupyter או ל-JupyterLab. |
| DATAPROC_ALLOW_CUSTOM_CLUSTERS | האם לאפשר למשתמשים להתאים אישית את האשכולות שלהם ב-Managed Service for Apache Spark. ברירת מחדל: false. | true או false |
| DATAPROC_MACHINE_TYPES_LIST | רשימה של סוגי מכונות שהמשתמשים יכולים לבחור עבור אשכולות של Managed Service for Apache Spark שהם יוצרים, אם ההתאמה האישית של האשכולות (DATAPROC_ALLOW_CUSTOM_CLUSTERS) מופעלת. ברירת מחדל: ריק (מותרים כל סוגי המכונות). | n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4 |
| NOTEBOOKS_EXAMPLES_LOCATION | נתיב ב-Cloud Storage לקטגוריית מחברות או לתיקייה בקטגוריה להורדה לאשכול של Managed Service for Apache Spark שנוצר כשהאשכול מופעל. ברירת מחדל: ריק. | gs://bucket-name/ |
הגדרת משתני סביבה של מרכז הבקרה
יש שתי דרכים להגדיר משתני סביבה של מרכז הבקרה:
הגדרת משתני סביבה של מרכז הבקרה מהמסוף
כשיוצרים מופע של Dataproc Hub מהכרטיסייה User-Managed Notebooks בדף Dataproc→Workbench במסוף Google Cloud , אפשר ללחוץ על הלחצן Populate כדי לפתוח טופס Populate Dataproc Hub שמאפשר להגדיר כל משתנה סביבתי.
הגדרת משתני סביבה של מרכז הבקרה בקובץ טקסט
יוצרים את הקובץ. אפשר להשתמש בעורך טקסט כדי להגדיר משתני סביבה של מופע Dataproc Hub בקובץ מקומי. אפשרות אחרת היא ליצור את הקובץ על ידי הפעלת הפקודה הבאה אחרי שממלאים את ערכי ה-placeholder ומשנים או מוסיפים משתנים ואת הערכים שלהם.
cat <<EOF > environment-variables-file DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml NOTEBOOKS_LOCATION=gs://bucket/notebooks DATAPROC_LOCATIONS_LIST=b,c EOF
שמירת הקובץ ב-Cloud Storage מעתיקים את קובץ משתני הסביבה של מופע Dataproc Hub המקומי לקטגוריה של Cloud Storage.
gcloud storage cp environment-variable-filename gs://bucket-name/folder-name/
הגדרת תפקידים בניהול זהויות והרשאות גישה (IAM)
Dataproc Hub כולל את הזהויות הבאות עם היכולות הבאות:
- אדמין: יצירת מכונת Dataproc Hub
- משתמש בנתונים ובלמידת מכונה: יש לו גישה לממשק המשתמש של Dataproc Hub
- חשבון שירות Dataproc Hub: מייצג את Dataproc Hub
- חשבון שירות של Managed Service for Apache Spark: מייצג את אשכול Managed Service for Apache Spark שנוצר על ידי Dataproc Hub.
לכל זהות נדרשים תפקידים או הרשאות ספציפיים כדי לבצע את המשימות שמשויכות לה. בטבלה הבאה מפורטים תפקידי IAM וההרשאות שנדרשות לכל זהות.
| זהות | סוג | תפקיד או הרשאה |
|---|---|---|
| אדמין של Dataproc Hub | חשבון משתמש או חשבון שירות | roles/notebooks.admin |
| משתמש ב-Dataproc Hub | משתמש | notebooks.instances.use, dataproc.clusters.use |
| Dataproc Hub | חשבון שירות | roles/dataproc.hubAgent |
| Dataproc | חשבון שירות | roles/dataproc.worker |
יצירת מופע של Dataproc Hub
לפני שמתחילים: כדי ליצור מופע של Managed Service for Apache Spark Hub ממסוף Google Cloud , לחשבון המשתמש שלכם צריכה להיות הרשאת
compute.instances.create. בנוסף, לחשבון השירות של המופע – חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine או חשבון השירות שצוין על ידי המשתמש ומפורט בIAM & admin > Service Accounts (ראו חשבון השירות של מכונת ה-VM של Managed Service for Apache Spark) – צריכה להיות הרשאהiam.serviceAccounts.actAs.עוברים לדף Dataproc→Workbench במסוף Google Cloud ובוחרים בכרטיסייה User-Managed Notebooks.
אם האפשרות הזו לא נבחרה מראש כמסנן, לוחצים על התיבה Filter (מסנן) ואז בוחרים באפשרות **Environment:Dataproc Hub"" (סביבה: Dataproc Hub).
לוחצים על New Notebook→Dataproc Hub (מחברת חדשה → Dataproc Hub).
בדף Create a user-managed notebook, מספקים את הפרטים הבאים:
- שם ה-Notebook: השם של מופע Dataproc Hub.
- אזור: בוחרים אזור למופע של Dataproc Hub. אשכולות של Managed Service for Apache Spark שנוצרו על ידי מופע Dataproc Hub הזה ייווצרו גם באזור הזה.
- Zone: בוחרים אזור בתוך האזור שנבחר.
- סביבה:
Environment: בוחרים באפשרותDataproc Hub.Select a script to run after creation(אופציונלי): אפשר להוסיף או לעיין בסקריפט של פעולת אתחול או בקובץ הפעלה ולבחור אותו כדי להפעיל אותו באשכול Managed Service for Apache Spark שנוצר.-
Populate Dataproc Hub (optional): לוחצים על Populate כדי לפתוח טופס שבו אפשר להגדיר כל אחת ממשתני הסביבה של מרכז הבקרה (במאמר הגדרת משתני סביבה של מופע Dataproc Hub מוסבר על כל משתנה). ב-Managed Service for Apache Spark נעשה שימוש בערכי ברירת מחדל לכל משתני הסביבה שלא הוגדרו. לחלופין, אפשר להגדיר זוגות של מטא-נתוניםkey:valueכדי להגדיר משתני סביבה (ראו את הפריט הבא). Metadata:- אם יצרתם קובץ טקסט שמכיל את הגדרות משתני הסביבה של ה-Hub (ראו הגדרת משתני סביבה של ה-Hub), צריך לציין את שם הקובץ כ-
keyואת המיקום של הקובץ ב-Cloud Storage כ-value.gs://bucket-name/folder-name/environment-variable-filenameManaged Service for Apache Spark משתמש בערכי ברירת מחדל לכל משתני הסביבה שלא הוגדרו.
- אם יצרתם קובץ טקסט שמכיל את הגדרות משתני הסביבה של ה-Hub (ראו הגדרת משתני סביבה של ה-Hub), צריך לציין את שם הקובץ כ-
- הגדרת המחשב:
-
Machine Type: בוחרים את סוג המכונה של Compute Engine. - מגדירים אפשרויות אחרות להגדרת המכונה.
-
- אפשרויות אחרות:
- אפשר להרחיב ולהגדיר או להחליף ערכי ברירת מחדל בקטעים Disks, Networking, Permission, Security ו-Environment upgrade and system health.
- לוחצים על Create כדי להפעיל את מופע Dataproc Hub.
הקישור Open JupyterLab של מופע Dataproc Hub הופך לפעיל אחרי יצירת המופע. המשתמשים לוחצים על הקישור הזה כדי לפתוח את דף השרת JupyterHub ולהגדיר וליצור אשכול של Managed Service for Apache Spark JupyterLab (ראו שימוש ב-Dataproc Hub).
הסרת המשאבים
מחיקת מכונת Dataproc Hub
- כדי למחוק את מופע Dataproc Hub:
gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
מחיקת הקטגוריה
- כדי למחוק את קטגוריה של Cloud Storage שיצרתם בקטע לפני שמתחילים, כולל קובצי הנתונים שמאוחסנים בקטגוריה:
gcloud storage rm gs://${BUCKET_NAME} --recursive