יצירת אשכול באמצעות ה-CLI של gcloud

בדף הזה מוסבר איך להשתמש בכלי שורת הפקודה gcloud של Google Cloud CLI כדי ליצור אשכול של Managed Service for Apache Spark, להריץ באשכול משימת Apache Spark ואז לשנות את מספר העובדים באשכול.

במאמרים הבאים תוכלו ללמוד איך לבצע את אותן משימות או משימות דומות: מדריכים למתחילים בנושא שימוש ב-API Explorer, יצירת אשכול באמצעות מסוף ויצירת אשכול באמצעות ספריות לקוח. Google Cloud Google Cloud

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. התקינו את ה-CLI של Google Cloud.

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

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

    gcloud init
  5. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  6. מוודאים שיש את ההרשאות הנדרשות כדי להשלים את ההדרכה.

  7. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  8. מפעילים את Dataproc API:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    gcloud services enable dataproc.googleapis.com
  9. התקינו את ה-CLI של Google Cloud.

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

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

    gcloud init
  12. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  13. מוודאים שיש את ההרשאות הנדרשות כדי להשלים את ההדרכה.

  14. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  15. מפעילים את Dataproc API:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    gcloud services enable dataproc.googleapis.com

התפקידים הנדרשים

כדי להריץ את הדוגמאות בדף הזה, צריך תפקידים מסוימים ב-IAM. יכול להיות שהתפקידים האלה כבר הוקצו, בהתאם למדיניות הארגון. כדי לבדוק את התפקידים שהוקצו, ראו האם צריך להקצות תפקידים?.

כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

תפקידי משתמשים

כדי לקבל את ההרשאות שדרושות ליצירת אשכול של Managed Service for Apache Spark, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

תפקיד בחשבון שירות

כדי לוודא שלחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine יש את ההרשאות שנדרשות ליצירת אשכול של Managed Service for Apache Spark, צריך לבקש מהאדמין להקצות לחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine את תפקיד ה-IAM Dataproc Worker (roles/dataproc.worker) בפרויקט.

יצירת אשכול

כדי ליצור אשכול בשם example-cluster, מריצים את הפקודה gcloud Managed Service for Apache Spark clusters create הבאה.

.
gcloud dataproc clusters create example-cluster --region=REGION

מחליפים את מה שכתוב בשדות הבאים:

REGION: ציון אזור שבו האשכול ימוקם.

שליחת משרה

כדי לשלוח משימת Spark לדוגמה שמחשבת ערך משוער של pi, מריצים את הפקודה הבאה: gcloud Managed Service for Apache Spark jobs submit spark:

gcloud dataproc jobs submit spark --cluster example-cluster \
    --region=REGION \
    --class org.apache.spark.examples.SparkPi \
    --jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000

הערות:

מחליפים את מה שכתוב בשדות הבאים:

REGION: ציון האזור של האשכול.

  • העבודה תפעל ב-example-cluster.
  • הקובץ class מכיל את השיטה הראשית של SparkPi, שמחשבת ערך משוער של pi. אפליקציה.
  • קובץ ה-jar מכיל את קוד העבודה.
  • 1000 הוא פרמטר של משרה. היא מציינת את מספר המשימות (האיטרציות) שהעבודה מבצעת כדי לחשב את הערך של pi.

העבודה פועלת והפלט הסופי מוצג בחלון הטרמינל:

Waiting for job output...
...
Pi is roughly 3.14118528
...
Job finished successfully.

עדכון אשכול

כדי לשנות את מספר העובדים באשכול לחמישה, מריצים את הפקודה הבאה:

gcloud dataproc clusters update example-cluster \
    --region=REGION \
    --num-workers 5

בפלט הפקודה מוצגים פרטי האשכול:

workerConfig:
...
  instanceNames:
  - example-cluster-w-0
  - example-cluster-w-1
  - example-cluster-w-2
  - example-cluster-w-3
  - example-cluster-w-4
  numInstances: 5
statusHistory:
...
- detail: Add 3 workers.

כדי להקטין את מספר צמתי העובדים לערך המקורי 2, מריצים את הפקודה הבאה:

gcloud dataproc clusters update example-cluster \
    --region=REGION \
    --num-workers 2

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה:

  1. כדי למחוק את example-cluster, מריצים את הפקודה clusters delete:
    gcloud dataproc clusters delete example-cluster \
        --region=REGION
    

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