אתם יכולים ליצור אשכול Managed Service for Apache Spark עם תמונה בהתאמה אישית שכוללת את החבילות שהתקנתם מראש. בדף הזה מוסבר איך ליצור תמונה בהתאמה אישית ולהתקין אותה באשכול Managed Service for Apache Spark.
שיקולים ומגבלות לגבי השימוש
משך החיים של תמונה בהתאמה אישית: כדי לוודא שהאשכולות יקבלו את העדכונים האחרונים של השירות ותיקוני באגים, יצירת אשכולות עם תמונה בהתאמה אישית מוגבלת ל-365 ימים מתאריך היצירה של התמונה בהתאמה אישית. שימו לב: אשכולות קיימים שנוצרו באמצעות תמונה בהתאמה אישית יכולים לפעול ללא הגבלת זמן.
יכול להיות שתצטרכו להשתמש באוטומציה אם אתם רוצים ליצור אשכולות עם תמונה מותאמת אישית ספציפית לתקופה של יותר מ-365 ימים. מידע נוסף זמין במאמר בנושא יצירת אשכול עם תמונה מותאמת אישית שתוקפה פג.
ל-Linux בלבד: ההוראות במסמך הזה רלוונטיות רק למערכות הפעלה של Linux. יכול להיות שבעתיד תהיה תמיכה במערכות הפעלה אחרות בגרסאות של Managed Service for Apache Spark.
קובצי אימג' בסיסיים נתמכים: כדי ליצור קובץ אימג' בהתאמה אישית, צריך להתחיל מקובץ אימג' בסיסי של Managed Service for Apache Spark. תמונות הבסיס הבאות נתמכות: Debian, Rocky Linux ו-Ubuntu.
- זמינות של תמונות בסיס: תמונות חדשות שמפורסמות בהערות לגבי הגרסה של Managed Service for Apache Spark לא זמינות לשימוש כבסיס לתמונות בהתאמה אישית עד שבוע ממועד הפרסום שלהן.
שימוש ברכיבים אופציונליים:
2.2ומעלה של תמונות בסיס: כברירת מחדל, כל הרכיבים האופציונליים של Managed Service for Apache Spark (חבילות ומערכי הגדרות של מערכת ההפעלה) מותקנים בתמונה המותאמת אישית. אתם יכולים להתאים אישית את הגרסאות וההגדרות של חבילות מערכת ההפעלה.
2.3ומעלה: רק הרכיבים האופציונליים שנבחרו מותקנים בתמונה המותאמת אישית (ראו את הדגלgenerate_custom_image.py--optional-components).
לא משנה איזו תמונה בסיסית משמשת ליצירת תמונה מותאמת אישית, כשיוצרים את האשכול, צריך לציין או לבחור רכיבים אופציונליים.
דוגמה: פקודה ליצירת אשכול ב-Google Cloud CLI:
gcloud dataproc clusters create CLUSTER_NAME --image=CUSTOM_IMAGE_URI \ --optional-components=COMPONENT_NAME \ ... other flags
אם לא מציינים את שם הרכיב כשיוצרים את האשכול, הרכיב האופציונלי, כולל חבילות ומערכות הפעלה מותאמות אישית, יימחקו.
שימוש בתמונות בהתאמה אישית שמתארחות בפרויקט אחר: אם משתמשים בתמונה בהתאמה אישית שמתארחת בפרויקט אחר, לחשבון השירות של סוכן השירות של Managed Service for Apache Spark בפרויקט צריך להיות הרשאה
compute.images.getלתמונה בפרויקט המארח. כדי להעניק את ההרשאה הזו, צריך להקצות את התפקידroles/compute.imageUserבתמונה המתארחת לחשבון השירות של סוכן השירות Managed Service for Apache Spark של הפרויקט (ראו שיתוף תמונות בהתאמה אישית בארגון).שימוש בסודות של MOK (מפתח בעלים של מכונה) לאתחול מאובטח: כדי להפעיל אתחול מאובטח עם תמונה בהתאמה אישית של Managed Service for Apache Spark, צריך לבצע את הפעולות הבאות:
מפעילים את Secret Manager API (
secretmanager.googleapis.com. שירות Managed Service for Apache Spark יוצר ומנהל צמד מפתחות באמצעות שירות Secret Manager.כשיוצרים תמונה בהתאמה אישית, מוסיפים את הדגל
--service-account="SERVICE_ACCOUNT"לפקודהgenerate_custom_image.py. הערה: צריך להקצות לחשבון השירות את התפקיד Secret Manager Viewer (roles/secretmanager.viewer) בפרויקט ואת התפקיד Secret Manager Accessor (roles/secretmanager.secretAccessor) בסודות הציבוריים והפרטיים.מידע נוסף עם דוגמאות זמין בקובץ
README.mdובקבצים אחרים בספרייה examples/secure-boot במאגרGoogleCloudDataproc/custom-imagesב-GitHub.כדי להשבית את האתחול המאובטח: כברירת מחדל, סקריפטים של תמונות בהתאמה אישית של Managed Service for Apache Spark יוצרים ומנהלים זוג מפתחות באמצעות Secret Manager כשהם מופעלים מאשכול של Managed Service for Apache Spark. אם לא רוצים להשתמש באתחול מאובטח עם התמונה המותאמת אישית, צריך לכלול את
--trusted-cert=""(ערך ריק של דגל) בפקודהgenerate_custom_image.pyכשיוצרים את התמונה המותאמת אישית.
לפני שמתחילים
חשוב להגדיר את הפרויקט לפני שיוצרים את התמונה בהתאמה אישית.
הגדרת הפרויקט
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 API, Compute Engine API, 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 theserviceusage.services.enablepermission. Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
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 API, Compute Engine API, 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 theserviceusage.services.enablepermission. Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init - התקנה של Python 3.11 ואילך
- מכינים סקריפט להתאמה אישית שמתקין חבילות מותאמות אישית או מעדכן הגדרות, למשל:
#! /usr/bin/bash apt-get -y update apt-get install python-dev apt-get install python-pip pip install numpy
יצירת קטגוריה של Cloud Storage בפרויקט
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
- לוחצים על יצירה.
- ממלאים את פרטי הקטגוריה בדף 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, בוחרים באפשרות הרצויה.
בקטע הגדרות השכפול, לוחצים על הגדרה כדי להגדיר את ההגדרות של משימת השכפול.
מופיעה החלונית Configure cross-bucket replication.
- כדי לסנן אובייקטים לשכפול לפי קידומת של שם האובייקט, מזינים קידומת שרוצים לכלול או להחריג אובייקטים ממנה, ואז לוחצים על הוספת קידומת.
- כדי להגדיר סוג אחסון לאובייקטים המשוכפלים, בוחרים סוג אחסון בתפריט סוג אחסון. אם מדלגים על השלב הזה, האובייקטים המשוכפלים ישתמשו בסוג האחסון של קטגוריית היעד כברירת מחדל.
- לוחצים על סיום.
-
בקטע 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 (תחילת העבודה), מבצעים את הפעולות הבאות:
- לוחצים על יצירה.
יצירת תמונה בהתאמה אישית
משתמשים ב-generate_custom_image.py, תוכנית Python, כדי ליצור תמונה בהתאמה אישית של Managed Service for Apache Spark.
איך זה עובד
התוכנית generate_custom_image.py מפעילה מכונת VM זמנית ב-Compute Engine עם תמונת הבסיס שצוינה של Managed Service for Apache Spark, ואז מריצה את סקריפט ההתאמה האישית בתוך מכונת ה-VM כדי להתקין חבילות בהתאמה אישית או לעדכן הגדרות. אחרי שהסקריפט להתאמה אישית מסתיים, הוא משבית את המכונה הווירטואלית ויוצר תמונה מותאמת אישית של Managed Service for Apache Spark מדיסק המכונה הווירטואלית. המכונה הווירטואלית הזמנית נמחקת אחרי שנוצרת התמונה המותאמת אישית. התמונה המותאמת אישית נשמרת ואפשר להשתמש בה כדי ליצור אשכולות של Managed Service for Apache Spark.
התוכנית generate_custom_image.py משתמשת ב-CLI של gcloud כדי להריץ תהליכי עבודה מרובי-שלבים ב-Compute Engine.
הרצת הקוד
מבצעים Fork או שיבוט של הקבצים ב-GitHub בכתובת Managed Service for Apache Spark custom images.
לאחר מכן, מריצים את הסקריפט generate_custom_image.py כדי ש-Managed Service for Apache Spark ייצור וישמור את התמונה המותאמת אישית.
python3 generate_custom_image.py \ --image-name=CUSTOM_IMAGE_NAME \ [--family=CUSTOM_IMAGE_FAMILY_NAME] \ --dataproc-version=IMAGE_VERSION \ --customization-script=LOCAL_PATH \ --zone=ZONE \ --gcs-bucket=gs://BUCKET_NAME \ [--no-smoke-test]
תגים נדרשים
--image-name: שם הפלט של התמונה המותאמת אישית.
--dataproc-version: גרסת התמונה של Managed Service for Apache Spark שבה רוצים להשתמש בתמונה המותאמת אישית. מציינים את הגרסה בפורמטx.y.z-osאוx.y.z-rc-os, לדוגמה, "2.0.69-debian10".
--customization-script: נתיב מקומי לסקריפט שהכלי יפעיל כדי להתקין חבילות מותאמות אישית או לבצע התאמות אישיות אחרות. הסקריפט הזה מופעל כסקריפט לטעינה בזמן ההפעלה של Linux רק במכונה הווירטואלית הזמנית שמשמשת ליצירת האימג' בהתאמה אישית. אתם יכולים לציין סקריפט אתחול שונה לפעולות אתחול אחרות שאתם רוצים לבצע כשיוצרים אשכול עם תמונה מותאמת אישית.תמונות חוצות פרויקטים: אם משתמשים בתמונה מותאמת אישית כדי ליצור אשכולות בפרויקטים שונים, יכול להיות שתתרחש שגיאה בגלל מטמון הפקודות
gcloudאוgsutilשמאוחסן בתמונה. כדי להימנע מהבעיה הזו, צריך לכלול את הפקודה הבאה בסקריפט ההתאמה האישית כדי לנקות את פרטי הכניסה ששמורים במטמון.rm -r /root/.gsutil /root/.config/gcloud
--zone: האזור של Compute Engine שבוgenerate_custom_image.pyייצור מכונה וירטואלית זמנית כדי ליצור את התמונה המותאמת אישית.
--gcs-bucket: URI בפורמטgs://BUCKET_NAMEשמפנה אל קטגוריה של Cloud Storage. generate_custom_image.pyכותב קובצי יומן לקטגוריה הזו.
-
--family: משפחת התמונות של התמונה המותאמת אישית. משפחות תמונות משמשות לקיבוץ תמונות דומות, ואפשר להשתמש בהן כשיוצרים אשכול כאינדיקטור לתמונה האחרונה במשפחה. לדוגמה,custom-2-2-debian12. -
--no-smoke-test: דגל אופציונלי שמשבית את בדיקת העשן של תמונת ה-Docker החדשה. בבדיקת העשן נוצר אשכול בדיקה של Managed Service for Apache Spark עם התמונה שנוצרה, מופעלת משימה קטנה ואז האשכול נמחק בסוף הבדיקה. בדיקת העשן מופעלת כברירת מחדל כדי לוודא שקובץ האימג' החדש בהתאמה אישית יכול ליצור אשכול פונקציונלי של Managed Service for Apache Spark. השבתת השלב הזה באמצעות הדגל--no-smoke-testמזרזת את תהליך build של התמונה המותאמת אישית, אבל לא מומלץ להשתמש בו. -
--subnet: רשת המשנה שבה יש להשתמש כדי ליצור את המכונה הווירטואלית שיוצרת את התמונה המותאמת אישית של Managed Service for Apache Spark. אם הפרויקט שלכם הוא חלק מרשת VPC משותפת, אתם צריכים לציין את כתובת ה-URL המלאה של רשת המשנה בפורמט הבא:projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET. --optional-components: הדגל הזה זמין רק כשמשתמשים בגרסאות של תמונת בסיס2.3ואילך. רשימה של רכיבים אופציונליים, כמו SOLR, RANGER, TRINO, DOCKER, FLINK, HIVE_WEBHCAT, ZEPPELIN, HUDI, ICEBERG ו-PIG (PIG זמין כרכיב אופציונלי בגרסאות תמונה2.3ואילך), להתקנה בתמונה.דוגמה: פקודה ליצירת אשכול ב-Google Cloud CLI:
gcloud dataproc clusters create CLUSTER_NAME --image=CUSTOM_IMAGE_URI \ --optional-components=COMPONENT_NAME \ ... other flags
רשימה של הדגלים האופציונליים הזמינים מופיעה במאמר Optional Arguments (ארגומנטים אופציונליים) ב-GitHub.
אם הפקודה generate_custom_image.py תצליח, הפלט של חלון הטרמינל יציג את imageURI של התמונה המותאמת אישית (הערך המלא של imageUri מוצג במודגש בהמשך):
...
managedCluster:
clusterName: verify-image-20180614213641-8308a4cd
config:
gceClusterConfig:
zoneUri: ZONE
masterConfig:
imageUri: **https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME**
...
INFO:__main__:Successfully built Dataproc custom image: CUSTOM_IMAGE_NAME
INFO:__main__:
#####################################################################
WARNING: DATAPROC CUSTOM IMAGE 'CUSTOM_IMAGE_NAME'
WILL EXPIRE ON 2018-07-14 21:35:44.133000.
#####################################################################
תוויות מותאמות אישית של גרסאות תמונות (שימוש מתקדם)
כשמשתמשים בכלי ליצירת אימג' בהתאמה אישית ב-Managed Service for Apache Spark, הכלי מגדיר תווית goog-dataproc-version באימג' בהתאמה אישית שנוצר. התווית משקפת את יכולות התכונה ואת הפרוטוקולים שבהם נעשה שימוש ב-Managed Service for Apache Spark כדי לנהל את התוכנה בתמונה.
שימוש מתקדם: אם אתם משתמשים בתהליך משלכם כדי ליצור תמונה מותאמת אישית של Managed Service for Apache Spark, אתם צריכים להוסיף את התווית goog-dataproc-version לתמונה המותאמת אישית באופן ידני, באופן הבא:
מחפשים את התווית
goog-dataproc-versionבקובץ הבסיס של Managed Service for Apache Spark שמשמש ליצירת קובץ האימג' בהתאמה אישית.gcloud compute images describe ${BASE_DATAPROC_IMAGE} \ --project cloud-dataproc \ --format="value(labels.goog-dataproc-version)"מגדירים את התווית בתמונה בהתאמה אישית.
gcloud compute images add-labels IMAGE_NAME --labels=[KEY=VALUE,...]
שימוש בתמונה מותאמת אישית
מציינים את התמונה המותאמת אישית כשיוצרים אשכול של Managed Service for Apache Spark. תמונה בהתאמה אישית נשמרת ב-Cloud Compute Images, והיא תקפה ליצירת אשכול של Managed Service for Apache Spark למשך 365 ימים ממועד היצירה שלה (במאמר יצירת אשכול עם תמונה בהתאמה אישית שתוקפה פג מוסבר איך להשתמש בתמונה בהתאמה אישית אחרי שתוקפה פג).
URI של תמונה מותאמת אישית
מעבירים את imageUri של התמונה המותאמת אישית לפעולת יצירת האשכול.
אפשר לציין את ה-URI הזה באחת משלוש דרכים:
- URI מלא:
https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/images/`gs://`BUCKET_NAME` - URI חלקי:
projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME - שם מקוצר: CUSTOM_IMAGE_NAME
אפשר גם לציין תמונות בהתאמה אישית באמצעות ה-URI של משפחת התמונות, שבמסגרתו תמיד נבחרת התמונה העדכנית ביותר.
- URI מלא:
https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/images/family/CUSTOM_IMAGE_FAMILY_NAME/var> - URI חלקי:
projects/PROJECT_ID/global/images/family/CUSTOM_IMAGE_FAMILY_NAME
איתור ה-URI של התמונה המותאמת אישית
Google Cloud CLI
מריצים את הפקודה הבאה כדי להציג את השמות של קובצי האימג' בהתאמה אישית.
gcloud compute images list
מעבירים את השם של קובץ האימג' בהתאמה אישית לפקודה הבאה כדי להציג את ה-URI (selfLink) של קובץ האימג' בהתאמה אישית.
gcloud compute images describe custom-image-name
קטע טקסט של פלט:
... name: CUSTOM_IMAGE_NAME selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME ...
מסוףGoogle Cloud
- פותחים את הדף Compute Engine→Images במסוף Google Cloud ולוחצים על שם התמונה.
אפשר להזין שאילתה בשדה
filter imagesכדי להגביל את מספר התמונות שמוצגות.
- ייפתח הדף פרטי התמונות. לוחצים על
Equivalent REST.
- בתגובת ה-REST מפורט מידע נוסף על התמונה, כולל
selfLink, שהוא ה-URI של התמונה.{ ... "name": "my-custom-image", "selfLink": "projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME", "sourceDisk": ..., ... }
יצירת אשכול עם תמונה בהתאמה אישית
ליצור אשכול באמצעות ה-CLI של gcloud, Dataproc API או מסוףGoogle Cloud .
מסוףGoogle Cloud
- פותחים את הדף Create cluster.
- בקטע הגדרת האשכול, לוחצים על סוג התמונה והגרסה, בוחרים באפשרות תמונה בהתאמה אישית, מאשרים או משנים את הפרויקט ובוחרים תמונה בהתאמה אישית שזמינה.
CLI של gcloud
כדי ליצור אשכול Managed Service for Apache Spark עם תמונה בהתאמה אישית, משתמשים בפקודה dataproc clusters create עם הדגל --image.
gcloud dataproc clusters create CLUSTER-NAME \ --image=CUSTOM_IMAGE_URI \ --region=REGION \ ... other flags
API בארכיטקטורת REST
כדי ליצור אשכול עם תמונה בהתאמה אישית, מציינים URI של תמונה בהתאמה אישית בשדה InstanceGroupConfig.imageUri באובייקט masterConfig, באובייקט workerConfig ובאובייקט secondaryWorkerConfig (אם רלוונטי) שנכללים בבקשת API מסוג cluster.create.
דוגמה: בקשת REST ליצירת אשכול רגיל של Managed Service for Apache Spark (צומת ראשי אחד ושני צמתים של עובדים) עם תמונה בהתאמה אישית.
POST /v1/projects/PROJECT_ID/regions/REGION/clusters/
{
"clusterName": "CLUSTER_NAME",
"config": {
"masterConfig": {
"imageUri": "projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME"
},
"workerConfig": {
"imageUri": "projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME"
}
}
}
החלפת מאפייני אשכול של Managed Service for Apache Spark באמצעות תמונה בהתאמה אישית
אתם יכולים להשתמש בתמונות בהתאמה אישית כדי להחליף מאפייני אשכול שהוגדרו במהלך יצירת האשכול. אם יוצרים אשכול עם תמונה בהתאמה אישית, והפעולה של יצירת האשכול מגדירה מאפיינים עם ערכים ששונים מאלה שמוגדרים בתמונה בהתאמה אישית, ערכי המאפיינים שמוגדרים בתמונה בהתאמה אישית יקבלו עדיפות.
כדי להגדיר מאפייני אשכול באמצעות תמונה בהתאמה אישית:
בסקריפט ההתאמה האישית של קובץ האימג' המותאם אישית, יוצרים קובץ
dataproc.custom.propertiesב-/etc/google-dataproc, ואז מגדירים את ערכי מאפייני האשכול בקובץ.- קובץ
dataproc.custom.propertiesלדוגמה:
dataproc.conscrypt.provider.enable=VALUE dataproc.logging.stackdriver.enable=VALUE
- דוגמה לקטע קוד ליצירת קובץ סקריפט להתאמה אישית, שמבטל את ההגדרה של שני מאפייני אשכול:
cat <<EOF >/etc/google-managed-spark/dataproc.custom.properties dataproc.conscrypt.provider.enable=true dataproc.logging.stackdriver.enable=false EOF
- קובץ
יצירת אשכול עם תמונה מותאמת אישית שתוקפה פג
כברירת מחדל, התוקף של תמונות בהתאמה אישית פג 365 ימים מתאריך היצירה של התמונה. כדי ליצור אשכול שמשתמש בתמונה מותאמת אישית שתוקף השימוש בה פג, צריך לבצע את השלבים הבאים.
ניסיון ליצור אשכול Managed Service for Apache Spark עם תמונה מותאמת אישית שתוקף שלה פג או שתוקף שלה יפוג תוך 10 ימים.
gcloud dataproc clusters create CLUSTER-NAME \ --image=CUSTOM-IMAGE-NAME \ --region=REGION \ ... other flags
ה-CLI של gcloud יציג הודעת שגיאה שכוללת את שם המאפיין של האשכול
dataproc:dataproc.custom.image.expiration.tokenואת ערך הטוקן.
dataproc:dataproc.custom.image.expiration.token=TOKEN_VALUE
מעתיקים את המחרוזת TOKEN_VALUE ללוח.
משתמשים ב-CLI של gcloud כדי ליצור מחדש את אשכול Managed Service for Apache Spark, ומוסיפים את TOKEN_VALUE שהועתק כמאפיין של האשכול.
gcloud dataproc clusters create CLUSTER-NAME \ --image=CUSTOM-IMAGE-NAME \ --properties=dataproc:dataproc.custom.image.expiration.token=TOKEN_VALUE \ --region=REGION \ ... other flags
יצירת האשכול עם התמונה בהתאמה אישית אמורה להצליח.