הגדרת Dataproc Hub

‫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 במכונה וירטואלית כדי להציג מחברות למספר משתמשים.

מטרות

  1. מגדירים תצורה של אשכול Managed Service for Apache Spark (או משתמשים באחד מקובצי ההגדרות המוגדרים מראש).

  2. מגדירים משתני סביבה של מופע Dataproc Hub.

  3. יוצרים מכונת Dataproc Hub.

לפני שמתחילים

אם עדיין לא עשיתם זאת, יוצרים Google Cloud פרויקט וקטגוריה של Cloud Storage.

  1. הגדרת הפרויקט

    1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
    2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    3. Verify that billing is enabled for your Google Cloud project.

    4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the APIs

    5. התקינו את ה-CLI של Google Cloud.

    6. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

    7. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

      gcloud init
    8. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    9. Verify that billing is enabled for your Google Cloud project.

    10. 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 the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the APIs

    11. התקינו את ה-CLI של Google Cloud.

    12. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

    13. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

      gcloud init

  2. יצירת קטגוריה ב-Cloud Storage בפרויקט שלכם כדי לאחסן את הנתונים שמשמשים במדריך הזה.

    1. במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.

      כניסה לדף Buckets

    2. לוחצים על יצירה.
    3. ממלאים את פרטי הקטגוריה בדף Create a bucket. כדי לעבור לשלב הבא לוחצים על Continue.
      1. בקטע Get started (תחילת העבודה), מבצעים את הפעולות הבאות:
      2. בקטע Choose where to store your data, מבצעים את הפעולות הבאות:
        1. בוחרים סוג מיקום.
        2. בתפריט הנפתח Location type, בוחרים מיקום שבו יישמרו נתוני הקטגוריה באופן קבוע.
        3. כדי להגדיר שכפול בין מאגרי מידע, בוחרים באפשרות הוספת שכפול בין מאגרי מידע באמצעות Storage Transfer Service ופועלים לפי השלבים הבאים:

          הגדרה של רפליקציה בין מאגרי מידע

          1. בתפריט Bucket, בוחרים באפשרות הרצויה.
          2. בקטע הגדרות השכפול, לוחצים על הגדרה כדי להגדיר את ההגדרות של משימת השכפול.

            מופיעה החלונית Configure cross-bucket replication.

            • כדי לסנן אובייקטים לשכפול לפי קידומת של שם האובייקט, מזינים קידומת שרוצים לכלול או להחריג אובייקטים ממנה, ואז לוחצים על הוספת קידומת.
            • כדי להגדיר סוג אחסון לאובייקטים המשוכפלים, בוחרים סוג אחסון בתפריט סוג אחסון. אם מדלגים על השלב הזה, האובייקטים המשוכפלים ישתמשו בסוג האחסון של קטגוריית היעד כברירת מחדל.
            • לוחצים על סיום.
      3. בקטע Choose how to store your data, מבצעים את הפעולות הבאות:
        1. בוחרים default storage class לקטגוריה או Autoclass לניהול אוטומטי של סוג האחסון (storage class) של נתוני הקטגוריה.
        2. כדי להפעיל מרחב שמות היררכי, בקטע Optimize storage for data-intensive workloads, בוחרים באפשרות Enable hierarchical namespace on this bucket.
      4. בקטע Choose how to control access to objects, בוחרים אם הקטגוריה אוכפת public access prevention או לא, ואז בוחרים שיטת בקרת גישה לאובייקטים של הקטגוריה.
      5. בקטע Choose how to protect object data, מבצעים את הפעולות הבאות:
        • בוחרים באחת מהאפשרויות בקטע הגנה על נתונים שרוצים להגדיר לקטגוריה.
          • כדי להפעיל מחיקה עם יכולת שחזור, מסמנים את התיבה מדיניות מחיקה עם יכולת שחזור (לשחזור נתונים) ומציינים את מספר הימים שבהם רוצים לשמור אובייקטים אחרי המחיקה.
          • כדי להגדיר ניהול גרסאות של אובייקטים, מסמנים את התיבה ניהול גרסאות של אובייקטים (לשליטה בגרסאות) ומציינים את מספר הגרסאות המקסימלי לכל אובייקט ואת מספר הימים שאחריהם הגרסאות הלא עדכניות יפוגו.
          • כדי להפעיל את מדיניות שמירת הנתונים על אובייקטים וקטגוריות, לוחצים על תיבת הסימון שמירת נתונים (לצורך תאימות), ואז מבצעים את הפעולות הבאות:
            • כדי להפעיל את הנעילה של שמירת אובייקטים, מסמנים את התיבה הפעלת שמירת אובייקטים.
            • כדי להפעיל את נעילת הקטגוריה, מסמנים את תיבת הסימון הגדרת מדיניות שמירת נתונים בקטגוריה ובוחרים יחידת זמן ואת משך הזמן של תקופת השמירה.
        • כדי לבחור איך להצפין את נתוני האובייקט, מרחיבים את הקטע Data encryption () ובוחרים Data encryption method.
    4. לוחצים על יצירה.

הגדרת תצורת אשכול

מופע של 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:

  1. יצירת קובץ תצורת אשכול YAML מהמסוף

  2. ייצוא קובץ תצורה של אשכול YAML מאשכול קיים

יצירת קובץ תצורת אשכול YAML מהמסוף

  1. פותחים את הדף Create a cluster במסוף Google Cloud , ואז בוחרים את השדות וממלאים אותם כדי לציין את סוג האשכול ש-Dataproc Hub ייצור בשביל המשתמשים.
    1. בחלק התחתון של החלונית הימנית, לוחצים על 'מקבילה של REST'.
    2. מעתיקים את בלוק ה-JSON שנוצר, לא כולל השורה הראשונה של בקשת ה-POST, ואז מדביקים את בלוק ה-JSON בכלי אונליין להמרה מ-JSON ל-YAML (אפשר לחפש באינטרנט את המחרוזת 'המרת JSON ל-YAML').
    3. מעתיקים את קובץ ה-YAML שהומר לקובץ cluster-config-filename.yaml מקומי.

ייצוא של קובץ הגדרות מקבץ קיים בפורמט YAML

  1. יוצרים אשכול שמתאים לדרישות שלכם.
  2. מייצאים את הגדרות האשכול לקובץ 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/

הגדרת משתני סביבה של מרכז הבקרה

יש שתי דרכים להגדיר משתני סביבה של מרכז הבקרה:

  1. הגדרת משתני סביבה של מרכז הבקרה מהמסוף

  2. הגדרת משתני סביבה של מרכז הבקרה בקובץ טקסט

הגדרת משתני סביבה של מרכז הבקרה מהמסוף

כשיוצרים מופע של Dataproc Hub מהכרטיסייה User-Managed Notebooks בדף Dataproc→Workbench במסוף Google Cloud , אפשר ללחוץ על הלחצן Populate כדי לפתוח טופס Populate Dataproc Hub שמאפשר להגדיר כל משתנה סביבתי.

הגדרת משתני סביבה של מרכז הבקרה בקובץ טקסט

  1. יוצרים את הקובץ. אפשר להשתמש בעורך טקסט כדי להגדיר משתני סביבה של מופע 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
    

  2. שמירת הקובץ ב-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

  1. לפני שמתחילים: כדי ליצור מופע של 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.

  2. עוברים לדף Dataproc→Workbench במסוף Google Cloud ובוחרים בכרטיסייה User-Managed Notebooks.

  3. אם האפשרות הזו לא נבחרה מראש כמסנן, לוחצים על התיבה Filter (מסנן) ואז בוחרים באפשרות **Environment:Dataproc Hub""‎ (סביבה: Dataproc Hub).

  4. לוחצים על New Notebook→Dataproc Hub (מחברת חדשה → Dataproc Hub).

  5. בדף Create a user-managed notebook, מספקים את הפרטים הבאים:

    1. שם ה-Notebook: השם של מופע Dataproc Hub.
    2. אזור: בוחרים אזור למופע של Dataproc Hub. אשכולות של Managed Service for Apache Spark שנוצרו על ידי מופע Dataproc Hub הזה ייווצרו גם באזור הזה.
    3. Zone: בוחרים אזור בתוך האזור שנבחר.
    4. סביבה:
      1. Environment: בוחרים באפשרות Dataproc Hub.
      2. Select a script to run after creation (אופציונלי): אפשר להוסיף או לעיין בסקריפט של פעולת אתחול או בקובץ הפעלה ולבחור אותו כדי להפעיל אותו באשכול Managed Service for Apache Spark שנוצר.
      3. Populate Dataproc Hub (optional): לוחצים על Populate כדי לפתוח טופס שבו אפשר להגדיר כל אחת ממשתני הסביבה של מרכז הבקרה (במאמר הגדרת משתני סביבה של מופע Dataproc Hub מוסבר על כל משתנה). ב-Managed Service for Apache Spark נעשה שימוש בערכי ברירת מחדל לכל משתני הסביבה שלא הוגדרו. לחלופין, אפשר להגדיר זוגות של מטא-נתונים key:value כדי להגדיר משתני סביבה (ראו את הפריט הבא).
      4. Metadata:
        1. אם יצרתם קובץ טקסט שמכיל את הגדרות משתני הסביבה של ה-Hub (ראו הגדרת משתני סביבה של ה-Hub), צריך לציין את שם הקובץ כ-key ואת המיקום של הקובץ ב-Cloud Storage כ-value.gs://bucket-name/folder-name/environment-variable-filename ‫Managed Service for Apache Spark משתמש בערכי ברירת מחדל לכל משתני הסביבה שלא הוגדרו.
    5. הגדרת המחשב:
      1. Machine Type: בוחרים את סוג המכונה של Compute Engine.
      2. מגדירים אפשרויות אחרות להגדרת המכונה.
    6. אפשרויות אחרות:
      1. אפשר להרחיב ולהגדיר או להחליף ערכי ברירת מחדל בקטעים Disks,‏ Networking,‏ Permission,‏ Security ו-Environment upgrade and system health.
    7. לוחצים על Create כדי להפעיל את מופע Dataproc Hub.
  6. הקישור 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
    

המאמרים הבאים