Dataproc Hub הוא שרת JupyterHub בהתאמה אישית. אדמינים יכולים להגדיר וליצור מופעים של Dataproc Hub שיכולים ליצור אשכולות של משתמש יחיד Managed Service for Apache Spark כדי לארח סביבות מחברת של Jupyter ו-JupyterLab (ראו שימוש ב-Dataproc Hub).
הפעלת מחברות לריבוי משתמשים כדי להציג notebooks לריבוי משתמשים, אתם יכולים ליצור מכונה של 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.
הגדרת הפרויקט
-
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, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
יצירת קטגוריה ב-Cloud Storage בפרויקט שלכם כדי לאחסן את הנתונים שמשמשים במדריך הזה.
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
- לוחצים על Create.
- ממלאים את פרטי הקטגוריה בדף 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, בוחרים באפשרות Bucket.
בקטע Replication settings, לוחצים על Configure כדי לקבוע את ההגדרות של משימת הרפליקציה.
מופיעה החלונית Configure cross-bucket replication.
- כדי לסנן אובייקטים לשכפול לפי קידומת שם האובייקט, מזינים את הקידומת שרוצים לכלול או להחריג אובייקטים ממנה, ואז לוחצים על Add a prefix.
- כדי להגדיר סוג אחסון לאובייקטים המשוכפלים, בוחרים סוג אחסון מהתפריט Storage class. אם מדלגים על השלב הזה, האובייקטים המשוכפלים ישתמשו כברירת מחדל בסוג האחסון של קטגוריית היעד.
- לוחצים על סיום.
-
בקטע 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, מבצעים את הפעולות הבאות:
- בוחרים את האפשרויות שרוצים להגדיר לקטגוריה בקטע הגנה על נתונים.
- כדי להפעיל את האפשרות מחיקה זמנית, לוחצים על תיבת הסימון Soft delete policy (For data recovery) ומציינים את מספר הימים שבהם רוצים לשמור את האובייקטים אחרי המחיקה.
- כדי להגדיר ניהול גרסאות של אובייקטים, מסמנים את התיבה ניהול גרסאות של אובייקטים (לשליטה בגרסאות) ומציינים את מספר הגרסאות המקסימלי לכל אובייקט ואת מספר הימים שאחריהם הגרסאות הלא עדכניות יפוגו.
- כדי להפעיל את מדיניות שמירת הנתונים על אובייקטים וקטגוריות, לוחצים על תיבת הסימון שמירת נתונים (לצורך תאימות), ואז מבצעים את הפעולות הבאות:
- כדי להפעיל את הנעילה של שמירת אובייקטים, לוחצים על תיבת הסימון הפעלת שמירת אובייקטים.
- כדי להפעיל את נעילת הקטגוריה, מסמנים את התיבה הגדרת מדיניות שמירת נתונים בקטגוריה ובוחרים יחידת זמן ואת משך הזמן של תקופת השמירה.
- כדי לבחור איך להצפין את נתוני האובייקט, מרחיבים את הקטע 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 כדי ליצור סביבת מחברת של אשכול Managed Service for Apache Spark.
יש שתי דרכים ליצור קובץ תצורת אשכול YAML:
יצירת קובץ תצורת אשכול YAML מהמסוף
- פותחים את הדף Create a cluster במסוף Google Cloud , בוחרים את השדות וממלאים אותם כדי לציין את סוג האשכול ש-Dataproc Hub ייצור עבור המשתמשים.
- בחלק התחתון של החלונית הימנית, בוחרים באפשרות Equivalent REST.
- מעתיקים את בלוק ה-JSON שנוצר, בלי שורת בקשת ה-POST הראשונה, ומדביקים אותו בכלי אונליין להמרת JSON ל-YAML (חפשו באינטרנט "Convert JSON to 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. |
| 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/ |
הגדרת משתני סביבה של מרכז הבקרה
יש שתי דרכים להגדיר משתני סביבה של מרכז:
הגדרת משתני סביבה של ה-Hub מהמסוף
כשיוצרים מופע של Dataproc Hub מהכרטיסייה User-Managed Notebooks בדף Dataproc→Workbench במסוף Google Cloud , אפשר ללחוץ על הלחצן Populate כדי לפתוח טופס Populate Dataproc Hub שמאפשר להגדיר כל משתנה סביבתי.
הגדרת משתני סביבה של 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 (ראו חשבון השירות של Managed Service for Apache Spark VM) – צריכה להיות ההרשאהiam.serviceAccounts.actAs.עוברים לדף Dataproc→Workbench במסוף Google Cloud ובוחרים בכרטיסייה User-Managed Notebooks.
אם הוא לא נבחר מראש כמסנן, לוחצים על התיבה Filter ובוחרים באפשרות **Environment:Dataproc Hub"".
לוחצים על New Notebook→Dataproc Hub (מחברת חדשה → Dataproc Hub).
בדף Create a user-managed notebook, מספקים את הפרטים הבאים:
- שם הנוטבוק: שם המופע של Dataproc Hub.
- Region (אזור): בוחרים אזור למופע של Dataproc Hub. אשכולות של Managed Service for Apache Spark שנוצרו על ידי מופע Dataproc Hub הזה ייווצרו גם באזור הזה.
- תחום: בוחרים תחום בתוך האזור שנבחר.
- סביבה:
-
Environment: בוחרים באפשרותDataproc Hub. Select a script to run after creation(אופציונלי): אפשר להוסיף או לעיין ולבחור סקריפט או קובץ הפעלה של פעולת אתחול להפעלה באשכול Managed Service for Apache Spark שנוצר.-
Populate Dataproc Hub (optional): לוחצים על Populate כדי לפתוח טופס שבו אפשר להגדיר כל אחת ממשתני הסביבה של Dataproc Hub (במאמר הגדרת משתני סביבה של מופע Dataproc Hub מוסבר על כל משתנה). ב-Managed Service for Apache Spark, אם לא מגדירים ערכים למשתני הסביבה, המערכת משתמשת בערכי ברירת המחדל. לחלופין, אפשר להגדיר זוגות שלkey:valueבמטא-נתונים כדי להגדיר משתני סביבה (ראו הפריט הבא). Metadata:- אם יצרתם קובץ טקסט שמכיל את הגדרות משתני הסביבה של ה-hub (ראו הגדרת משתני סביבה של ה-hub), צריך לציין את שם הקובץ כ-
keyואתgs://bucket-name/folder-name/environment-variable-filenameהמיקום של הקובץ ב-Cloud Storage כ-value. Managed 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