יצירת אשכול
דרישות:
שם: שם האשכול צריך להתחיל באות קטנה באנגלית, להמשיך עם עד 51 אותיות קטנות באנגלית, מספרים ומקפים, ולא להסתיים במקף.
אזור האשכול: צריך לציין אזור של Compute Engine לאשכול, כמו
us-east1אוeurope-west1, כדי לבודד את משאבי האשכול, כמו מכונות וירטואליות ומטא-נתונים של האשכול שמאוחסנים ב-Cloud Storage, בתוך האזור.- מידע נוסף על אזורים ב-Compute Engine זמין במאמר בנושא אזור של אשכול.
- מידע על בחירת אזור זמין במאמר אזורים ותחומים זמינים. אפשר גם להריץ את הפקודה
gcloud compute regions listכדי להציג רשימה של האזורים הזמינים.
קישוריות: מופעים של מכונות וירטואליות (VM) של Compute Engine באשכול Managed Service for Apache Spark, שכולל מכונות וירטואליות ראשיות ומכונות וירטואליות של עובדים, צריכים קישוריות מלאה בין רשתות IP פנימיות.
defaultרשת ה-VPC מספקת את הקישוריות הזו (ראו הגדרת רשת של אשכול Managed Service for Apache Spark).סוג המכונה (מומלץ): הגדרת סוג המכונה היא אופציונלית, אבל Google ממליצה לבחור במפורש סוג מכונה למכונות הווירטואליות של ה-master וה-worker באשכול. אם לא מציינים סוג מכונה, Managed Service for Apache Spark בוחר באופן דינמי סוגי מכונות על סמך זמינות המשאבים. הבחירה הדינמית הזו יכולה להוביל לשינויים בעלות ובביצועים.
- מידע נוסף על בחירת סוג מכונה זמין במאמר סוגי מכונות נתמכים.
- כדי לצמצם את הסיכוי לבעיות בזמינות של משאבים, מומלץ להשתמש במכונות וירטואליות גמישות, שמאפשרות לכם לציין רשימה של סוגי מכונות מקובלים.
המסוף
פותחים את הדף Create cluster במסוף Google Cloud כדי להציג את הגדרות ברירת המחדל של האשכול. אפשר לאשר או לשנות את הגדרות ברירת המחדל שמוצגות, ואז ללחוץ על הגדרה נוספת כדי להתאים אישית את האשכול.
לוחצים על יצירת אשכול כדי ליצור את האשכול. שם האשכול מופיע בדף Clusters, והסטטוס שלו מתעדכן ל-Running אחרי שהאשכול מוקצה. לוחצים על שם האשכול כדי לפתוח את הדף עם פרטי האשכול. בדף הזה אפשר לבדוק את המשימות, המופעים והגדרות התצורה של האשכול, ולהתחבר לממשקי אינטרנט שפועלים באשכול.
gcloud
כדי ליצור אשכול של Managed Service for Apache Spark בשורת הפקודה, מריצים את הפקודה gcloud dataproc clusters create באופן מקומי בחלון טרמינל או ב-Cloud Shell.
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --master-machine-type=MASTER_MACHINE_TYPE \ --worker-machine-type=WORKER_MACHINE_TYPE
הפקודה יוצרת אשכול. סוגי המכונות של המאסטר והוורקר הם אופציונליים, אבל מומלץ לציין אותם באופן מפורש באמצעות הדגלים --master-machine-type ו---worker-machine-type (לדוגמה, n4-standard-4) כדי להבטיח עלות וביצועים עקביים. אם לא מציינים סוגי מכונות, המערכת בוחרת באופן דינמי סוגי מכונות שמוגדרים כברירת מחדל על סמך זמינות המשאבים. במאמר בנושא הפקודה gcloud dataproc clusters create מוסבר איך משתמשים בדגלים של שורת הפקודה כדי להתאים אישית את הגדרות האשכול.
יצירת אשכול באמצעות קובץ YAML
- מריצים את הפקודה
gcloudהבאה כדי לייצא את ההגדרה של אשכול קיים של Managed Service for Apache Spark לקובץcluster.yaml.gcloud dataproc clusters export EXISTING_CLUSTER_NAME \ --region=REGION \ --destination=cluster.yaml
- יוצרים אשכול חדש על ידי ייבוא של קובץ התצורה מסוג YAML.
gcloud dataproc clusters import NEW_CLUSTER_NAME \ --region=REGION \ --source=cluster.yaml
**הערה:** במהלך פעולת הייצוא, שדות ספציפיים לאשכול, כמו שם האשכול, שדות של פלט בלבד ותוויות שמוחלות אוטומטית, מסוננים. השדות האלה אסורים בקובץ ה-YAML המיובא שמשמש ליצירת אשכול.
REST
בקטע הזה מוסבר איך ליצור אשכול. הגדרת סוגי מכונות היא אופציונלית, אבל מומלץ לכלול באופן מפורש את machine_type_uri ב-master_config וב-worker_config (לדוגמה, n4-standard-4) כדי להבטיח עלות וביצועים עקביים. אם לא מציינים סוגי מכונות, המערכת בוחרת באופן דינמי סוגי מכונות שמוגדרים כברירת מחדל על סמך זמינות המשאבים.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- CLUSTER_NAME: שם האשכול
- PROJECT: Google Cloud מזהה הפרויקט
- REGION: אזור זמין ב-Compute Engine שבו ייווצר האשכול.
- ZONE: אזור אופציונלי בתוך האזור שנבחר שבו ייצור האשכול.
- MASTER_MACHINE_TYPE: (מומלץ) סוג המכונה של צומת הראשי (לדוגמה,
n4-standard-4). - WORKER_MACHINE_TYPE: (מומלץ) סוג המכונה של צומתי העובדים (לדוגמה,
n4-standard-4).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT/regions/REGION/clusters
תוכן בקשת JSON:
{
"project_id":"PROJECT",
"cluster_name":"CLUSTER_NAME",
"config":{
"master_config":{
"num_instances":1,
"machine_type_uri":"MASTER_MACHINE_TYPE",
"image_uri":""
},
"softwareConfig": {
"imageVersion": "",
"properties": {},
"optionalComponents": []
},
"worker_config":{
"num_instances":2,
"machine_type_uri":"WORKER_MACHINE_TYPE",
"image_uri":""
},
"gce_cluster_config":{
"zone_uri":"ZONE"
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT/regions/REGION/operations/b5706e31......",
"metadata": {
"@type": "type.googleapis.com/google.cloud.dataproc.v1.ClusterOperationMetadata",
"clusterName": "CLUSTER_NAME",
"clusterUuid": "5fe882b2-...",
"status": {
"state": "PENDING",
"innerState": "PENDING",
"stateStartTime": "2019-11-21T00:37:56.220Z"
},
"operationType": "CREATE",
"description": "Create cluster with 2 workers",
"warnings": [
"For PD-Standard without local SSDs, we strongly recommend provisioning 1TB ...""
]
}
}
Go
- מתקינים את ספריית הלקוח.
- מגדירים Application Default Credentials.
- מריצים את הקוד.
הערה: הגדרת סוגי מכונות היא אופציונלית, אבל מומלץ להגדיר במפורש את סוגי המכונות הראשיות והמשניות בהגדרת האשכול (לדוגמה, ל-
n4-standard-4) כדי להבטיח עלות וביצועים עקביים. אם לא מציינים סוג מכונה, סוגי המכונות שמוגדרים כברירת מחדל נבחרים באופן דינמי על סמך זמינות המשאבים.
Java
- מתקינים את ספריית הלקוח.
- מגדירים Application Default Credentials.
- מריצים את הקוד.
הערה: הגדרת סוגי מכונות היא אופציונלית, אבל מומלץ להגדיר במפורש את סוגי המכונות הראשיות והמשניות בהגדרת האשכול (לדוגמה, ל-
n4-standard-4) כדי להבטיח עלות וביצועים עקביים. אם לא מציינים סוג מכונה, סוגי המכונות שמוגדרים כברירת מחדל נבחרים באופן דינמי על סמך זמינות המשאבים.
Node.js
- מתקינים את ספריית הלקוח.
- מגדירים Application Default Credentials.
- מריצים את הקוד.
הערה: הגדרת סוגי מכונות היא אופציונלית, אבל מומלץ להגדיר במפורש את סוגי המכונות הראשיות והמשניות בהגדרת האשכול (לדוגמה, ל-
n4-standard-4) כדי להבטיח עלות וביצועים עקביים. אם לא מציינים סוג מכונה, סוגי המכונות שמוגדרים כברירת מחדל נבחרים באופן דינמי על סמך זמינות המשאבים.
Python
- מתקינים את ספריית הלקוח.
- מגדירים Application Default Credentials.
- מריצים את הקוד.
הערה: הגדרת סוגי מכונות היא אופציונלית, אבל מומלץ להגדיר במפורש את סוגי המכונות הראשיות והמשניות בהגדרת האשכול (לדוגמה, ל-
n4-standard-4) כדי להבטיח עלות וביצועים עקביים. אם לא מציינים סוג מכונה, סוגי המכונות שמוגדרים כברירת מחדל נבחרים באופן דינמי על סמך זמינות המשאבים.