כשיוצרים אשכול, 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 אפשר לראות את פרטי האשכול, כולל השם של ה-staging bucket של האשכול.
- בדף Cloud Storage Browser במסוף, מסננים את התוצאות שמכילות את המחרוזת dataproc-temp-. Google Cloud
CLI של gcloud
מריצים את הפקודה gcloud dataproc clusters describe באופן מקומי בחלון טרמינל או ב-Cloud Shell.
בדף הפלט מופיעים מאגרי הביניים והמאגרים הזמניים שמשויכים לאשכול.
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 ...