במסמך הזה מוסבר איך ליצור אשכול של Managed Service for Apache Spark עם אפס צמתים.
אשכולות של Managed Service for Apache Spark zero-scale הם דרך חסכונית להשתמש באשכולות של Managed Service for Apache Spark. בניגוד לאשכולות רגילים של Managed Service for Apache Spark שנדרשים לפחות שני עובדים ראשיים, באשכולות של Managed Service for Apache Spark zero-scale נעשה שימוש רק בעובדים משניים שאפשר להקטין את מספרם לאפס.
אשכולות Managed Service for Apache Spark עם אפס צמתים מתאימים לשימוש כאשכולות שפועלים לאורך זמן עם תקופות של חוסר פעילות, כמו אשכול שמארח מחברת Jupiter. הם מספקים ניצול משאבים משופר באמצעות שימוש במדיניות של התאמה אוטומטית לעומס ללא שינוי גודל.
מאפיינים ומגבלות
אשכול של Managed Service for Apache Spark zero-scale דומה לאשכול רגיל, אבל יש לו מאפיינים ומגבלות ייחודיים:
- נדרשת גרסת אימג'
2.2.53ואילך. - תמיכה רק בעובדים משניים, לא בעובדים ראשיים.
כולל שירותים כמו YARN, אבל לא תומך במערכת הקבצים HDFS.
- כדי להשתמש ב-Cloud Storage כמערכת הקבצים שמוגדרת כברירת מחדל, צריך להגדיר את מאפיין האשכול
core:fs.defaultFSלמיקום של קטגוריה של Cloud Storage (gs://BUCKET_NAME). - אם משביתים רכיב במהלך יצירת האשכול, צריך להשבית גם את HDFS.
- כדי להשתמש ב-Cloud Storage כמערכת הקבצים שמוגדרת כברירת מחדל, צריך להגדיר את מאפיין האשכול
אי אפשר להמיר אותו לאשכול רגיל או מאשכול רגיל.
נדרשת מדיניות של התאמה אוטומטית לעומס עבור סוגי אשכולות
ZERO_SCALE.צריך לבחור באפשרות מכונות וירטואליות גמישות בתור סוג המכונה.
אין תמיכה ברכיב Oozie.
אי אפשר ליצור אותם במסוף Google Cloud .
אופציונלי: הגדרת מדיניות של התאמה אוטומטית לעומס
אתם יכולים להגדיר מדיניות של התאמה אוטומטית לעומס כדי להגדיר התאמה לעומס משנית של worker עבור אשכול עם אפס קנה מידה. כשעושים את זה, חשוב לשים לב לדברים הבאים:
- מגדירים את סוג האשכול ל-
ZERO_SCALE. - הגדרת מדיניות התאמה לעומס (autoscaling) רק להגדרת העובד המשני.
מידע נוסף זמין במאמר יצירת מדיניות של שינוי גודל אוטומטי.
יצירת אשכול Managed Service for Apache Spark zero-scale
יוצרים אשכול עם אפס צמתים באמצעות ה-CLI של gcloud או Dataproc API.
gcloud
מריצים את הפקודה gcloud dataproc clusters create באופן מקומי בחלון טרמינל או ב-Cloud Shell.
gcloud dataproc clusters create CLUSTER_NAME \
--region=REGION \
--cluster-type=zero-scale \
--autoscaling-policy=AUTOSCALING_POLICY \
--properties=core:fs.defaultFS=gs://BUCKET_NAME \
--secondary-worker-machine-types="type=MACHINE_TYPE1[,type=MACHINE_TYPE2...][,rank=RANK]"
...other args
מחליפים את מה שכתוב בשדות הבאים:
- CLUSTER_NAME: שם האשכול של Managed Service for Apache Spark zero-scale.
- REGION: אזור זמין ב-Compute Engine.
- AUTOSCALING_POLICY: המזהה או ה-URI של המשאב של מדיניות שינוי הגודל האוטומטי.
- BUCKET_NAME: שם הקטגוריה ב-Cloud Storage.
- MACHINE_TYPE: סוג מכונה ספציפי ב-Compute Engine, כמו
n1-standard-4אוe2-standard-8. - RANK: מגדיר את העדיפות של רשימה של סוגי מכונות.
REST
יוצרים אשכול עם אפס צמתים באמצעות בקשת cluster.create של Managed Service for Apache Spark API בארכיטקטורת REST:
- מגדירים את
ClusterConfig.ClusterTypeלערךZERO_SCALEעבורsecondaryWorkerConfig. - מגדירים את
AutoscalingConfig.policyUriעם מזהה מדיניות ההתאמה האוטומטית של גודל הקבוצהZERO_SCALE. - מוסיפים את
core:fs.defaultFS:gs://BUCKET_NAMESoftwareConfig.property. מחליפים את BUCKET_NAME בשם של קטגוריית Cloud Storage.