כשיוצרים אשכול, HDFS משמש כמערכת הקבצים שמוגדרת כברירת מחדל. אפשר לשנות את ההתנהגות הזו על ידי הגדרת defaultFS כקטגוריה ב-Cloud Storage. כברירת מחדל, Managed Service for Apache Spark יוצר גם קטגוריית אחסון זמנית ב-Cloud Storage וקטגוריית אחסון זמנית ב-Cloud Storage בפרויקט, או משתמש מחדש בקטגוריית אחסון זמנית ב-Cloud Storage ובקטגוריית אחסון זמנית ב-Cloud Storage שנוצרו על ידי Managed Service for Apache Spark מבקשות קודמות ליצירת אשכולות.
מאגר זמני: משמש להכנת תלות של משימות באשכול, פלט של מנהל המשימות וקבצי הגדרה של האשכול. מקבל גם פלט מאיסוף נתוני אבחון של תמונת מצב.
מאגר זמני: משמש לאחסון נתונים זמניים של אשכולות ומשימות, כמו קבצי היסטוריה של Spark ו-MapReduce. בנוסף, מאוחסנים בו נתוני אבחון של נקודות ביקורת שנאספים במהלך מחזור החיים של אשכול.
אם לא מציינים קטגוריית אחסון זמנית או קטגוריית אחסון להעברה כשיוצרים אשכול, Managed Service for Apache Spark מגדיר מיקום ב-Cloud Storage בארה"ב, באסיה או באירופה לקטגוריות האחסון הזמניות ולקטגוריות האחסון להעברה של האשכול, בהתאם לאזור Compute Engine שבו האשכול נפרס. לאחר מכן הוא יוצר ומנהל את הקטגוריות האלה ברמת הפרויקט, לכל מיקום. קטגוריות זמניות וקטגוריות staging שנוצרו על ידי Managed Service for Apache Spark משותפות בין אשכולות באותו אזור, והן נוצרות עם שמירת מחיקה זמנית ב-Cloud Storage למשך 0 שניות. אם אתם מציינים קטגוריות זמניות וקטגוריות להעברה לבמה משלכם, כדאי לשנות את הגדרת השמירה של מחיקה רכה כדי להפחית את עלויות האחסון של אובייקטים שנמחקו רכות.
המאגר הזמני מכיל נתונים חולפים, ומשך החיים שלו הוא 90 ימים. למאגר הזמני, שיכול להכיל נתוני תצורה וקובצי תלות שנדרשים לכמה אשכולות, אין זמן חיים (TTL). עם זאת, אתם יכולים להחיל כלל מחזור חיים על קובצי התלות (קובצים עם סיומת שם הקובץ .jar שנמצאים בתיקיית מאגר ההכנה) כדי לתזמן את ההסרה של קובצי התלות כשאין יותר צורך בהם באשכולות.
יצירת קטגוריות זמניות וקטגוריות להעברה
במקום להסתמך על יצירה של קטגוריית זמנית וקטגוריית ביניים שמוגדרות כברירת מחדל, אתם יכולים לציין קטגוריות קיימות ב-Cloud Storage שבהן Managed Service for Apache Spark ישתמש כקטגוריית ביניים וכקטגוריה זמנית של האשכול.
מסוףGoogle Cloud
כדי לציין או לבחור את באקט ההעברה הזמנית של האשכול:
- פותחים את הדף Create cluster.
- לוחצים על הגדרה נוספת כדי להרחיב את הקטע.
- עורכים את התאמה אישית ואחר.
- בחלונית שנפתחת, בקטע Cloud Storage staging bucket, מציינים קטגוריה.
הערה: אי אפשר לציין קטגוריה זמנית באמצעות Google Cloud המסוף.
CLI של gcloud
מריצים את הפקודה gcloud dataproc clusters create עם הדגלים
--bucket
או
--temp-bucket
באופן מקומי בחלון טרמינל או ב-Cloud Shell כדי לציין את קטגוריית הביניים או את הקטגוריה הזמנית של האשכול.
gcloud dataproc clusters create cluster-name \ --region=region \ --bucket=bucket-name \ --temp-bucket=bucket-name \ other args ...
API בארכיטקטורת REST
משתמשים בשדות ClusterConfig.configBucket ו-ClusterConfig.tempBucket בבקשה clusters.create כדי לציין את הקטגוריות הזמניות והזמניות של האשכול.
ב-Managed Service for Apache Spark נעשה שימוש במבנה תיקיות מוגדר לקטגוריות של Cloud Storage שמצורפות לאשכולות, והשירות תומך גם בצירוף של יותר מאשכול אחד לקטגוריה. מבנה התיקיות שמשמש לשמירת הפלט של מנהל המשימות ב-Cloud Storage הוא כדלקמן:
cloud-storage-bucket-name
- google-cloud-dataproc-metainfo
- list of cluster IDs
- list of job IDs
- list of output logs for a job
אפשר להשתמש בכלי gcloud של שורת הפקודה, ב-Dataproc API או במסוףGoogle Cloud כדי להציג את השם של דלי האחסון הזמני והזמני של אשכול.
מסוףGoogle Cloud
- בדף Clusters במסוף Google Cloud אפשר לראות את פרטי האשכול, כולל השם של באקט ההעברה הזמנית של האשכול.
- בדף Cloud Storage Browser Google Cloud במסוף, מסננים את התוצאות שמכילות את המחרוזת dataproc-temp-.
CLI של gcloud
מריצים את הפקודה gcloud dataproc clusters describe באופן מקומי בחלון טרמינל או ב-Cloud Shell.
ה-staging וה-temp buckets שמשויכים לאשכול מופיעים בפלט.
gcloud dataproc clusters describe cluster-name \
--region=region \
...
clusterName: cluster-name
clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec ...
config:
configBucket: dataproc-...
...
tempBucket: dataproc-temp...
API בארכיטקטורת REST
מתקשרים אל clusters.get כדי להציג את פרטי האשכול, כולל השם של דלי האחסון הזמני ודלי האחסון של שלב הביניים של האשכול.
{
"projectId": "vigilant-sunup-163401",
"clusterName": "cluster-name",
"config": {
"configBucket": "dataproc-...",
...
"tempBucket": "dataproc-temp-...",
}
defaultFS
אפשר להגדיר את core:fs.defaultFS למיקום של קטגוריה ב-Cloud Storage (gs://defaultFS-bucket-name) כדי להגדיר את Cloud Storage כמערכת הקבצים שמוגדרת כברירת מחדל. בנוסף, ההרשאה המדווחת core:fs.gs.reported.permissions שמוחזרת על ידי חיבור ל-Cloud Storage לכל הקבצים מוגדרת ל-777.
אם Cloud Storage לא מוגדר כמערכת הקבצים שמוגדרת כברירת מחדל, המערכת תשתמש ב-HDFS, והמאפיין core:fs.gs.reported.permissions יחזיר את ערך ברירת המחדל 700.
gcloud dataproc clusters create cluster-name \ --properties=core:fs.defaultFS=gs://defaultFS-bucket-name \ --region=region \ --bucket=staging-bucket-name \ --temp-bucket=temp-bucket-name \ other args ...