Apache Hadoop YARN, HDFS, Spark ומאפיינים קשורים
הרכיבים בקוד פתוח שמותקנים באשכולות של Managed Service for Apache Spark מכילים הרבה קובצי תצורה. לדוגמה, ל-Apache Spark ול-Apache Hadoop יש כמה קובצי XML וקובצי תצורה של טקסט פשוט. אפשר להשתמש בדגל ‑‑properties של הפקודה gcloud dataproc clusters create כדי לשנות הרבה קובצי תצורה נפוצים כשיוצרים אשכול.
עיצוב
הדגל gcloud dataproc clusters create --properties מקבל את הפורמט הבא של מחרוזת:
file_prefix1:property1=value1,file_prefix2:property2=value2,...
הערך file_prefix ממפה לקובץ תצורה מוגדר מראש, כמו שמוצג בטבלה שלמטה, והערך property ממפה למאפיין בתוך הקובץ.
תו ברירת המחדל להפרדה בין כמה מאפייני אשכול הוא פסיק (,). עם זאת, אם פסיק נכלל בערך של מאפיין, צריך לשנות את התו המפריד על ידי ציון "^delimiter^" בתחילת רשימת המאפיינים (למידע נוסף, ראו gcloud topic escaping).
- דוגמה לשימוש בתו המפריד "#":
--properties ^#^file_prefix1:property1=part1,part2#file_prefix2:property2=value2
- דוגמה לשימוש בתו המפריד "#":
דוגמאות
מסוףGoogle Cloud
כדי לשנות את ההגדרה spark.master בקובץ spark-defaults.conf:
- במסוף Google Cloud , פותחים את הדף Create cluster.
- לוחצים על הגדרות נוספות כדי להרחיב את הקטע.
- עורכים את ההתאמה האישית והגדרות אחרות.
- בחלונית שנפתחת, בקטע מאפייני אשכול, לוחצים על + הוספת מאפיינים.
- בוחרים באפשרות spark ברשימה Prefix.
- בשדה Key, מזינים
spark.master. - בשדה ערך, מזינים את ההגדרה.
- לוחצים על Save.
CLI של gcloud
כדי לשנות את ההגדרה spark.master בקובץ spark-defaults.conf, מוסיפים את הדגל gcloud dataproc clusters create --properties הבא:
--properties 'spark:spark.master=spark://example.com'
אפשר לשנות כמה מאפיינים בבת אחת, בקובץ תצורה אחד או יותר, באמצעות מפריד פסיק. צריך לציין כל נכס בפורמט המלא של file_prefix:property=value. לדוגמה, כדי לשנות את ההגדרה spark.master בקובץ spark-defaults.conf ואת ההגדרה dfs.hosts בקובץ hdfs-site.xml, משתמשים בדגל --properties הבא כשיוצרים אשכול:
--properties 'spark:spark.master=spark://example.com,hdfs:dfs.hosts=/foo/bar/baz'
API בארכיטקטורת REST
כדי להגדיר את spark.executor.memory ל-10g, מוסיפים את ההגדרה הבאה של properties בקטע SoftwareConfig של הבקשה clusters.create:
"properties": {
"spark:spark.executor.memory": "10g"
}
דרך קלה לראות איך לבנות את גוף ה-JSON של בקשת REST לאשכולות של Dataproc API היא להפעיל את הפקודה המקבילה של gcloud באמצעות הדגל --log-http.
הנה דוגמה לפקודת gcloud dataproc clusters create שמגדירה מאפייני אשכול באמצעות הדגל --properties spark:spark.executor.memory=10g.
ביומן stdout מוצג גוף בקשת ה-REST שנוצר (קטע הקוד properties מוצג בהמשך):
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --properties=spark:spark.executor.memory=10g \ --log-http \ other args ...
פלט:
...
== body start ==
{"clusterName": "my-cluster", "config": {"gceClusterConfig": ...
"masterConfig": {... "softwareConfig": {"properties": {"spark:spark.executor.memory": "10g"}},
...
== body end ==
...
אם אתם לא רוצים שהפקודה תתבצע, הקפידו לבטל אותה אחרי שגוף ה-JSON מופיע בפלט.
מאפייני אשכולות לעומת מאפייני משימות
המאפיינים של Apache Hadoop YARN, HDFS, Spark ומאפיינים אחרים עם קידומת של קובץ מוחלים ברמת האשכול כשיוצרים אשכול. אי אפשר להחיל את המאפיינים האלה על אשכול אחרי שהוא נוצר. עם זאת, אפשר להחיל הרבה מהמאפיינים האלה גם על משרות ספציפיות. כשמחילים מאפיין על משימה, לא נעשה שימוש בתחילית של הקובץ.
בדוגמה הבאה, הזיכרון של מנהל הביצוע של Spark מוגדר ל-4g בשביל משימת Spark (הקידומת spark: הושמטה).
gcloud dataproc jobs submit spark \ --region=REGION \ --properties=spark.executor.memory=4g \ other args ...
אפשר לשלוח מאפייני משימה בקובץ באמצעות הדגל gcloud dataproc jobs submit job-type --properties-file (לדוגמה, התיאור של --properties-file לשליחת משימת Hadoop).
gcloud dataproc jobs submit JOB_TYPE \ --region=REGION \ --properties-file=PROPERTIES_FILE \ other args ...
השדה PROPERTIES_FILE הוא קבוצה של צמדי key=value שמופרדים בשורות. המאפיין שצריך להגדיר הוא key, והערך שצריך להגדיר במאפיין הוא value. לתיאור מפורט של פורמט קובץ המאפיינים, ראו את המחלקה java.util.Properties.
הדוגמה הבאה היא של קובץ מאפיינים שאפשר להעביר לדגל --properties-file כששולחים משימה של Managed Service for Apache Spark.
dataproc:conda.env.config.uri=gs://some-bucket/environment.yaml spark:spark.history.fs.logDirectory=gs://some-bucket spark:spark.eventLog.dir=gs://some-bucket capacity-scheduler:yarn.scheduler.capacity.root.adhoc.capacity=5
טבלת מאפיינים עם קידומת של קובץ
| תחילית של קובץ | קובץ | מטרת הקובץ |
|---|---|---|
| capacity-scheduler | capacity-scheduler.xml | הגדרת Hadoop YARN Capacity Scheduler |
| core | core-site.xml | הגדרה כללית של Hadoop |
| distcp | distcp-default.xml | הגדרת Hadoop Distributed Copy |
| flink | flink-conf.yaml | הגדרת Flink |
| flink-log4j | log4j.properties | קובץ ההגדרות של Log4j |
| hadoop-env | hadoop-env.sh | משתני סביבה ספציפיים ל-Hadoop |
| hadoop-log4j | log4j.properties | קובץ ההגדרות של Log4j |
| hbase | hbase-site.xml | הגדרת HBase |
| hbase-log4j | log4j.properties | קובץ ההגדרות של Log4j |
| hdfs | hdfs-site.xml | הגדרת Hadoop HDFS |
| כוורת | hive-site.xml | הגדרת Hive |
| hive-log4j2 | hive-log4j2.properties | קובץ ההגדרות של Log4j |
| hudi | hudi-default.conf | הגדרת Hudi |
| mapred | mapred-site.xml | הגדרת Hadoop MapReduce |
| mapred-env | mapred-env.sh | משתני סביבה ספציפיים ל-Hadoop MapReduce |
| חזיר | pig.properties | הגדרת Pig |
| pig-log4j | log4j.properties | קובץ ההגדרות של Log4j |
| presto | config.properties | הגדרת Presto |
| presto-jvm | jvm.config | הגדרת JVM ספציפית ל-Presto |
| סמל הנצנוץ | spark-defaults.conf | הגדרת Spark |
| spark-env | spark-env.sh | משתני סביבה ספציפיים ל-Spark |
| spark-log4j | log4j.properties | קובץ ההגדרות של Log4j |
| tez | tez-site.xml | הגדרת Tez |
| webcat-log4j | webhcat-log4j2.properties | קובץ ההגדרות של Log4j |
| חוטי סריגה | yarn-site.xml | הגדרת Hadoop YARN |
| yarn-env | yarn-env.sh | משתני סביבה ספציפיים ל-Hadoop YARN |
| צפלין | zeppelin-site.xml | הגדרות Zeppelin |
| zeppelin-env | zeppelin-env.sh | משתני סביבה ספציפיים ל-Zeppelin (רכיב אופציונלי בלבד) |
| zeppelin-log4j | log4j.properties | קובץ ההגדרות של Log4j |
| מטפל בגן חיות | zoo.cfg | הגדרת Zookeeper |
| zookeeper-log4j | log4j.properties | קובץ ההגדרות של Log4j |
הערות
- חלק מהמאפיינים שמורים ואי אפשר לשנות אותם כי הם משפיעים על הפונקציונליות של אשכול Managed Service for Apache Spark. אם תנסו לשנות מאפיין שמור, תופיע הודעת שגיאה כשתצרו את האשכול.
- אפשר לציין כמה שינויים, וצריך להפריד ביניהם באמצעות פסיק.
- הדגל
--propertiesלא יכול לשנות קובצי תצורה שלא מוצגים למעלה. - השינויים במאפיינים יחולו לפני שה-daemons באשכול יתחילו לפעול.
- אם הנכס שצוין קיים, הוא יעודכן. אם המאפיין שצוין לא קיים, הוא יתווסף לקובץ התצורה.
מאפייני Managed Service for Apache Spark
המאפיינים שמפורטים בקטע הזה הם ספציפיים ל-Managed Service for Apache Spark. אפשר להשתמש במאפיינים האלה כדי להגדיר את הפונקציונליות של אשכול Managed Service for Apache Spark.
עיצוב
הדגל gcloud dataproc clusters create --properties מקבל את פורמט המחרוזת הבא:
property_prefix1:property1=value1,property_prefix2:property2=value2,...
תו ברירת המחדל להפרדה בין כמה מאפייני אשכול הוא פסיק (,). עם זאת, אם ערך של מאפיין כולל פסיק, צריך לשנות את התו המפריד על ידי ציון "^delimiter^" בתחילת רשימת המאפיינים (למידע נוסף, ראו gcloud topic escaping).
- דוגמה לשימוש בתו המפריד "#":
--properties ^#^property_prefix1:property1=part1,part2#property_prefix2:property2=value2
- דוגמה לשימוש בתו המפריד "#":
לדוגמה:
יוצרים אשכול ומגדירים את Enhanced Flexibility Mode ל-Spark primary worker shuffle.
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --properties=dataproc:efm.spark.shuffle=primary-worker \ other args ...
טבלת המאפיינים של Managed Service for Apache Spark
| קידומת הנכס | מאפיין (property) | ערכים | תיאור |
|---|---|---|---|
| dataproc | agent.process.threads.job.min | number |
Managed Service for Apache Spark מריץ מנהלי התקנים של משימות משתמשים בו-זמנית במאגר שרשורים. המאפיין הזה קובע את המספר המינימלי של הליכי משנה במאגר הליכי המשנה להפעלה מהירה, גם כשאין משימות שפועלות (ברירת המחדל: 10). |
| dataproc | agent.process.threads.job.max | number |
Managed Service for Apache Spark מריץ מנהלי התקנים של משימות משתמשים בו-זמנית במאגר שרשורים. המאפיין הזה קובע את המספר המקסימלי של ה-threads במאגר ה-threads, וכך מגביל את מספר המשימות המקסימלי שהמשתמשים יכולים להריץ בו-זמנית. כדי להגדיל את מספר הפעולות בו-זמנית, צריך להגדיל את הערך הזה (ברירת המחדל: 100). |
| dataproc | am.primary_only | true או false |
מגדירים את המאפיין הזה לערך true כדי למנוע מהמאסטר של האפליקציה לפעול על ה-workers שניתנים להפסקה לפני הזמן של אשכול Managed Service for Apache Spark. הערה: התכונה הזו זמינה רק ב-Managed Service for Apache Spark מגרסה 1.2 ואילך. ערך ברירת המחדל הוא false. |
| dataproc | conda.env.config.uri | gs://<path> |
המיקום ב-Cloud Storage של קובץ התצורה של סביבת Conda. סביבת Conda חדשה תיווצר ותופעל על סמך הקובץ הזה. מידע נוסף זמין במאמר שימוש במאפייני אשכול שקשורים ל-Conda. (ברירת המחדל: empty). |
| dataproc | conda.packages | חבילות Conda | המאפיין הזה מקבל רשימה של חבילות Conda מופרדות בפסיקים עם גרסאות ספציפיות להתקנה בסביבת Conda של base. מידע נוסף זמין במאמר שימוש במאפייני אשכול שקשורים ל-Conda. (ברירת המחדל: empty). |
| dataproc | dataproc.allow.zero.workers | true או false |
כדי ליצור אשכול עם צומת יחיד, צריך להגדיר את המאפיין SoftwareConfig לערך true בבקשת API של clusters.create. הפעולה הזו משנה את מספר ברירת המחדל של ה-workers מ-2 ל-0, וממקמת את רכיבי ה-worker במארח הראשי. אפשר גם ליצור אשכול עם צומת יחיד דרך מסוף Google Cloud או באמצעות Google Cloud CLI, על ידי הגדרת מספר ה-workers ל-0. |
| dataproc | dataproc.alpha.master.nvdimm.size.gb | 1500-6500 | הגדרת ערך יוצרת מאסטר של Managed Service for Apache Spark עם זיכרון מתמיד של Intel Optane DC. הערה: אפשר ליצור מכונות וירטואליות של Optane רק באזורים של us-central1-f, רק עם סוג מכונה n1-highmem-96-aep ורק בפרויקטים שנמצאים ברשימת ההיתרים. |
| dataproc: | dataproc.alpha.worker.nvdimm.size.gb | 1500-6500 | הגדרת ערך יוצרת וורקר של Managed Service for Apache Spark עם Intel Optane DC Persistent memory. הערה: אפשר ליצור מכונות וירטואליות של Optane רק באזורים של us-central1-f, רק עם סוג מכונה n1-highmem-96-aep ורק בפרויקטים שנמצאים ברשימת ההיתרים. |
| dataproc: | dataproc.await-new-workers-service-registration | true או false |
המאפיין הזה זמין בתמונות מגרסה 2.0.49 ואילך. ערך ברירת המחדל הוא false. מגדירים את המאפיין הזה לערך true כדי להמתין עד ש-primary workers חדשים ירשמו את מנהלי השירות, כמו HDFS NameNode ו-YARN ResourceManager, במהלך יצירת האשכול או הגדלת האשכול (רק שירותי HDFS ו-YARN נמצאים במעקב). אם הערך מוגדר כ-true, כשעובד חדש לא מצליח להירשם לשירות, העובד מקבל את הסטטוס FAILED. אם האשכול גדל, ה-worker שנכשל מוסר. אם האשכול נוצר, ה-worker שנכשל יוסר אם הדגל gcloud dataproc clusters create --action-on-failed-primary-workers=DELETE או השדה actionOnFailedPrimaryWorkers=DELETE ב-API צוינו כחלק מהפקודה gcloud או מהבקשה ליצירת אשכול ב-API. |
| dataproc: | dataproc.beta.secure.multi-tenancy.user.mapping | user-to-service account mappings |
המאפיין הזה מקבל רשימה של מיפויים בין משתמשים לחשבונות שירות. משתמשים ממופים יכולים לשלוח עומסי עבודה אינטראקטיביים לאשכול עם זהויות משתמשים מבודדות (ראו Managed Service for Apache Spark Service Account Based Secure Multi-tenancy). |
| dataproc: | dataproc.cluster.caching.enabled | true או false |
כשהשמירה במטמון של האשכול מופעלת, האשכול שומר במטמון את נתוני Cloud Storage שאליהם ניגשים משימות Spark, מה שמשפר את ביצועי המשימות בלי לפגוע בעקביות. (ברירת המחדל: false). |
| dataproc | dataproc.cluster-ttl.consider-yarn-activity | true או false |
כשהערך הוא true, המדיניות Cluster Scheduled Deletion מתייחסת גם לפעילות של YARN וגם לפעילות של Jobs API כשהיא מחשבת את זמן חוסר הפעילות של האשכול. כשהערך הוא false, רק הפעילות ב-Jobs API נלקחת בחשבון. (ברירת המחדל: true). מידע נוסף זמין במאמר חישוב זמן חוסר הפעילות של האשכול. |
| dataproc | dataproc.conscrypt.provider.enable | true או false |
הפעלה (true) או השבתה (false) של Conscrypt כספק האבטחה הראשי של Java. הערה: Conscrypt מופעל כברירת מחדל ב-Managed Service for Apache Spark בגרסה 1.2 ואילך, אבל מושבת בגרסאות 1.0 ו-1.1. |
| dataproc | dataproc.cooperative.multi-tenancy.user.mapping | user-to-service account mappings |
המאפיין הזה מקבל רשימה של מיפויים בין משתמשים לחשבונות שירות, שמופרדים בפסיקים. אם יוצרים אשכול עם המאפיין הזה, כשמשתמש שולח משימה, האשכול מנסה להתחזות לחשבון השירות המתאים כשהוא ניגש ל-Cloud Storage דרך החיבור ל-Cloud Storage. כדי להשתמש בתכונה הזו, צריך להתקין את גרסה 2.1.4 או גרסה חדשה יותר של המחבר ל-Cloud Storage. מידע נוסף זמין במאמר דיירים מרובים שיתופיים ב-Managed Service for Apache Spark. (ברירת המחדל: empty). |
| dataproc | dataproc.control.max.assigned.job.tasks | 100 |
המאפיין הזה מגביל את מספר המשימות שיכולות לפעול בו-זמנית בצומת מאסטר של אשכול. אם מספר המשימות הפעילות חורג ממגבלת המשימות, משימות חדשות ממתינות בתור עד שהמשימות הפעילות מסתיימות ומתפנים משאבים שמאפשרים לתזמן משימות חדשות. הערה: לא מומלץ להגדיר מגבלת משימות שחורגת מ-100 (ברירת המחדל), כי זה עלול לגרום למצב של חוסר בזיכרון בצומת הראשי. |
| dataproc | dataproc:hudi.version | גרסת Hudi | מגדיר את גרסת Hudi שמשמשת את רכיב Managed Service for Apache Spark Hudi האופציונלי. הערה: הגרסה הזו מוגדרת על ידי Managed Service for Apache Spark כדי שתהיה תואמת לגרסת קובץ האימג' של האשכול. אם המשתמש מגדיר את הגרסה, יכול להיות שיצירת האשכול תיכשל אם הגרסה שצוינה לא תואמת לתמונת האשכול. |
| dataproc | dataproc.lineage.enabled | true |
הפעלת שושלת נתונים באשכול Managed Service for Apache Spark בשביל משימות Spark. |
| dataproc | dataproc.localssd.mount.enable | true או false |
אם לטעון כונני SSD מקומיים כספריות זמניות של Hadoop/Spark וכספריות נתונים של HDFS (ברירת המחדל: true). |
| dataproc | dataproc.logging.extended.enabled | true או false |
הפעלה (true) או השבתה (false) של יומנים ב-Cloud Logging לפעולות הבאות: knox, zeppelin, ranger-usersync, jupyter_notebook, jupyter_kernel_gateway ו-spark-history-server (ברירת המחדל: true). מידע נוסף זמין במאמר יומני אשכולות של Managed Service for Apache Spark ב-Logging. |
| dataproc | dataproc.logging.stackdriver.enable | true או false |
הפעלה (true) או השבתה (false) של Cloud Logging (ברירת המחדל: true). במחירון של Cloud Logging מפורטים החיובים המשויכים. |
| dataproc | dataproc.logging.stackdriver.job.driver.enable | true או false |
הפעלה (true) או השבתה (false) של יומני מנהלי ההתקנים של משימות Managed Service for Apache Spark ב-Cloud Logging. Managed Service for Apache Spark job output and logs (ברירת המחדל: false). |
| dataproc | dataproc.logging.stackdriver.job.yarn.container.enable | true או false |
הפעלה (true) או השבתה (false) של יומני קונטיינרים של YARN ב-Cloud Logging. אפשרויות פלט של משימות Spark (ברירת המחדל: false). |
| dataproc | dataproc.logging.syslog.enabled | true או false |
הפעלה (true) או השבתה (false) של יומני המערכת של המכונה הווירטואלית ב-Cloud Logging (ברירת המחדל: true). |
| dataproc | dataproc.master.custom.init.actions.mode | RUN_BEFORE_SERVICES או RUN_AFTER_SERVICES |
באשכולות של תמונות בגרסה 2.0 ומעלה, כשמגדירים את RUN_AFTER_SERVICES, פעולות האתחול במאסטר יופעלו אחרי האתחול של HDFS ושל כל השירותים שתלויים ב-HDFS. דוגמאות לשירותים שתלויים ב-HDFS: HBase, Hive Server2, Ranger, Solr ושרתי ההיסטוריה של Spark ו-MapReduce. (ברירת המחדל: RUN_BEFORE_SERVICES). |
| dataproc | dataproc.monitoring.stackdriver.enable | true או false |
הפעלה (true) או השבתה (false) של סוכן המעקב (ברירת המחדל: false). המאפיין הזה הוצא משימוש. במאמר הפעלת איסוף של מדדים בהתאמה אישית מוסבר איך להפעיל איסוף של מדדי Managed Service for Apache Spark OSS ב-Monitoring. |
| dataproc | dataproc.scheduler.driver-size-mb | number |
הזיכרון שבשימוש הממוצע של מנהל ההתקן, שקובע את המספר המקסימלי של משימות שהאשכול יריץ בו-זמנית. ערך ברירת המחדל הוא 1GB. ערך קטן יותר, כמו 256, עשוי להתאים למשימות Spark. |
| dataproc | dataproc.scheduler.job-submission-rate | number |
אם חורגים מהקצב הזה, המשימות מווסתות. קצב ברירת המחדל הוא 1.0 שאילתות לשנייה. |
| dataproc | dataproc.scheduler.max-concurrent-jobs | number |
המספר המקסימלי של משימות בו-זמניות. אם לא מגדירים את הערך הזה כשיוצרים את האשכול, הגבול העליון של המשימות בו-זמנית מחושב לפי max((masterMemoryMb - 3584) / masterMemoryMbPerJob, 5). הערך של masterMemoryMb נקבע לפי סוג המכונה של ה-VM הראשי. כברירת מחדל, הערך של masterMemoryMbPerJob הוא 1024, אבל אפשר להגדיר אותו בזמן יצירת האשכול באמצעות מאפיין האשכול dataproc:dataproc.scheduler.driver-size-mb. |
| dataproc | dataproc.scheduler.max-memory-used | number |
הכמות המקסימלית של זיכרון RAM שאפשר להשתמש בה. אם השימוש הנוכחי גבוה מהסף הזה, אי אפשר לתזמן משימות חדשות. ערך ברירת המחדל הוא 0.9 (90%). אם המדיניות מוגדרת לערך 1.0, ויסות הנתונים של משימות ניצול הזיכרון הראשי מושבת. |
| dataproc | dataproc.scheduler.min-free-memory.mb | number |
כמות הזיכרון הפנוי המינימלית במגה-בייט שנדרשת למנהל המשימות של Managed Service for Apache Spark כדי לתזמן משימה נוספת באשכול. ערך ברירת המחדל הוא 256MB. |
| dataproc | dataproc.snap.enabled | true או false |
הפעלה או השבתה של Ubuntu Snap daemon. ערך ברירת המחדל הוא true. אם המדיניות מוגדרת לערך false, חבילות Snap שמותקנות מראש בקובץ האימג' לא מושפעות, אבל הרענון האוטומטי מושבת. רלוונטי לתמונות Ubuntu בגרסאות 1.4.71, 1.5.46, 2.0.20 ואילך. |
| dataproc | dataproc.worker.custom.init.actions.mode | RUN_BEFORE_SERVICES |
באשכולות של גרסאות קודמות ל-2.0, המשתנה RUN_BEFORE_SERVICES לא מוגדר, אבל המשתמש יכול להגדיר אותו כשהוא יוצר את האשכול. באשכולות של קובצי אימג' מגרסה 2.0 ומעלה, המאפיין RUN_BEFORE_SERVICES מוגדר, ואי אפשר להעביר את המאפיין לאשכול (המשתמש לא יכול לשנות אותו). למידע על ההשפעה של ההגדרה הזו, ראו שיקולים והנחיות חשובים – עיבוד אתחול. |
| dataproc | dataproc.yarn.orphaned-app-termination.enable | true או false |
ערך ברירת המחדל הוא true. מגדירים את הערך false כדי למנוע מ-Managed Service for Apache Spark להפסיק אפליקציות YARN "מיותמות". ב-Managed Service for Apache Spark, אפליקציית YARN נחשבת ליתומה אם מנהל ההתקן של המשימה ששלח את אפליקציית YARN נסגר. אזהרה: אם משתמשים במצב אשכול של Spark (spark.submit.deployMode=cluster) ומגדירים את spark.yarn.submit.waitAppCompletion=false, מנהל ההתקן של Spark יוצא בלי להמתין להשלמת אפליקציות YARN. במקרה כזה, צריך להגדיר את dataproc:dataproc.yarn.orphaned-app-termination.enable=false. צריך להגדיר את המאפיין הזה גם ל-false אם שולחים משימות Hive. |
| dataproc | diagnostic.capture.enabled | true או false |
מאפשרת לאסוף נתוני אבחון של נקודות ביקורת באשכול. (ברירת המחדל: true). |
| dataproc | diagnostic.capture.access | GOOGLE_DATAPROC_DIAGNOSE |
אם הערך הוא GOOGLE_DATAPROC_DIAGNOSE, נתוני האבחון של נקודות הבדיקה של האשכול, שנשמרים ב-Cloud Storage, משותפים עם התמיכה של Managed Service for Apache Spark. (ברירת המחדל: לא מוגדר). |
| dataproc | efm.spark.shuffle | primary-worker |
אם הערך הוא primary-worker, נתוני ה-shuffle של Spark נכתבים ל-primary workers". מידע נוסף זמין במאמר מצב גמישות משופרת ב-Managed Service for Apache Spark. |
| dataproc | job.history.to-gcs.enabled | true או false |
מאפשר לשמור קובצי היסטוריה של MapReduce ו-Spark בקטגוריה הזמנית של Managed Service for Apache Spark (ברירת המחדל: true לגרסאות תמונה 1.5 ואילך). המשתמשים יכולים להחליף את המיקומים של שמירת קובצי ההיסטוריה של המשימות באמצעות המאפיינים הבאים: mapreduce.jobhistory.done-dir, mapreduce.jobhistory.intermediate-done-dir, spark.eventLog.dir ו-spark.history.fs.logDirectory. במאמר שרת היסטוריה קבוע של Managed Service for Apache Spark מפורט מידע על מאפייני האשכול האלה ועל מאפיינים אחרים שמשויכים להיסטוריית המשימות ולקובצי האירועים של Managed Service for Apache Spark. |
| dataproc | jobs.file-backed-output.enable | true או false |
מגדיר משימות של Managed Service for Apache Spark כך שהפלט שלהן יועבר לקבצים זמניים בספרייה /var/log/google-dataproc-job. כדי להפעיל רישום ביומן של מנהל התקן המשימה ב-Cloud Logging, צריך להגדיר את הערך true (ברירת המחדל: true). |
| dataproc | jupyter.listen.all.interfaces | true או false |
כדי לצמצם את הסיכון להרצת קוד מרחוק דרך ממשקי API לא מאובטחים של שרת ה-notebook, הגדרת ברירת המחדל לגרסאות אימג' 1.3 ואילך היא false, שמגבילה את החיבורים ל-localhost (127.0.0.1) כש-Component Gateway מופעל (לא נדרשת הפעלה של Component Gateway לאימג'ים בגרסה 2.0 ואילך). כדי לשנות את הגדרת ברירת המחדל הזו, אפשר להגדיר את המאפיין הזה לערך true כדי לאפשר את כל החיבורים. |
| dataproc | jupyter.notebook.gcs.dir | gs://<dir-path> |
המיקום ב-Cloud Storage שבו נשמרים קובצי ה-notebook של Jupyter. |
| dataproc | kerberos.beta.automatic-config.enable | true או false |
אם הערך הוא true, המשתמשים לא צריכים לציין את הסיסמה של ה-root principal של Kerberos באמצעות הדגלים --kerberos-root-principal-password ו---kerberos-kms-key-uri (ברירת המחדל: false). מידע נוסף זמין במאמר הפעלת Hadoop Secure Mode באמצעות Kerberos. |
| dataproc | kerberos.cross-realm-trust.admin-server | hostname/address |
שם המארח או הכתובת של שרת הניהול המרוחק (בדרך כלל זהה לשרת ה-KDC). |
| dataproc | kerberos.cross-realm-trust.kdc | hostname/address |
שם המארח או הכתובת של ה-KDC המרוחק. |
| dataproc | kerberos.cross-realm-trust.realm | realm name |
שמות של תחומים יכולים להכיל כל מחרוזת ASCII באותיות רישיות. בדרך כלל, שם התחום זהה לשם הדומיין של ה-DNS (באותיות רישיות). דוגמה: אם המכונות נקראות "machine-id.example.west-coast.mycompany.com", יכול להיות שהתחום המשויך יוגדר בתור "EXAMPLE.WEST-COAST.MYCOMPANY.COM". |
| dataproc | kerberos.cross-realm-trust.shared-password.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הסיסמה המשותפת שמוצפנת באמצעות KMS. |
| dataproc | kerberos.kdc.db.key.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הקובץ המוצפן באמצעות KMS, שמכיל את מפתח המאסטר של מסד הנתונים של KDC. |
| dataproc | kerberos.key.password.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הקובץ המוצפן ב-KMS שמכיל את הסיסמה של המפתח בקובץ מאגר המפתחות. |
| dataproc | kerberos.keystore.password.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הקובץ המוצפן ב-KMS שמכיל את הסיסמה של מאגר המפתחות. |
| dataproc | kerberos.keystore.uri1 | gs://<dir-path> |
המיקום ב-Cloud Storage של קובץ מאגר המפתחות שמכיל את תעודת ה-wildcard ואת המפתח הפרטי שמשמש את הצמתים באשכול. |
| dataproc | kerberos.kms.key.uri | KMS key URI |
ה-URI של מפתח ה-KMS שמשמש לפענוח סיסמת הבסיס, לדוגמה projects/project-id/locations/region/keyRings/key-ring/cryptoKeys/key (ראו מזהה משאב המפתח). |
| dataproc | kerberos.root.principal.password.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הסיסמה המוצפנת ב-KMS של מנהל הבסיס של Kerberos. |
| dataproc | kerberos.tgt.lifetime.hours | hours |
משך החיים המקסימלי של הכרטיס להנפקת כרטיסים. |
| dataproc | kerberos.truststore.password.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הקובץ המוצפן ב-KMS שמכיל את הסיסמה לקובץ ה-truststore. |
| dataproc | kerberos.truststore.uri2 | gs://<dir-path> |
המיקום ב-Cloud Storage של קובץ מאגר האישורים שמוצפן באמצעות KMS ומכיל אישורים מהימנים. |
| dataproc | pip.packages | חבילות Pip | המאפיין הזה מקבל רשימה של חבילות Pip מופרדות בפסיקים עם גרסאות ספציפיות, שצריך להתקין בסביבת Conda של base. מידע נוסף זמין במאמר מאפייני אשכול שקשורים ל-Conda. (ברירת המחדל: empty). |
| dataproc | ranger.kms.key.uri | KMS key URI |
ה-URI של מפתח ה-KMS שמשמש לפענוח הסיסמה של משתמש עם הרשאת אדמין ב-Ranger, לדוגמה projects/project-id/locations/region/keyRings/key-ring/cryptoKeys/key (ראו מזהה משאב המפתח). |
| dataproc | ranger.admin.password.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הסיסמה המוצפנת ב-KMS של משתמש עם הרשאת אדמין ב-Ranger. |
| dataproc | ranger.db.admin.password.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הסיסמה המוצפנת ב-KMS של המשתמש עם הרשאת אדמין במסד הנתונים של Ranger. |
| dataproc | ranger.cloud-sql.instance.connection.name | cloud sql instance connection name |
שם החיבור של המכונה ב-Cloud SQL, לדוגמה project-id:region:name. |
| dataproc | ranger.cloud-sql.root.password.uri | gs://<dir-path> |
המיקום ב-Cloud Storage של הסיסמה המוצפנת ב-KMS של משתמש ה-root של מכונת Cloud SQL. |
| dataproc | ranger.cloud-sql.use-private-ip | true או false |
אם התקשורת בין מכונות האשכול לבין מכונת Cloud SQL צריכה להתבצע באמצעות כתובת IP פרטית (ערך ברירת המחדל הוא false). |
| dataproc | solr.gcs.path | gs://<dir-path> |
הנתיב של Cloud Storage שישמש כספריית הבית של Solr. |
| dataproc | startup.component.service-binding-timeout.hadoop-hdfs-namenode | seconds |
משך הזמן שבו הסקריפט לטעינה בזמן ההפעלה של Managed Service for Apache Spark ימתין עד ש-hadoop-hdfs-namenode יתחבר ליציאות, לפני שיחליט שההפעלה הצליחה. הערך המקסימלי שניתן להזין הוא 1,800 שניות (30 דקות). |
| dataproc | startup.component.service-binding-timeout.hive-metastore | seconds |
משך הזמן שהסקריפט לטעינה בזמן ההפעלה של Managed Service for Apache Spark ימתין עד ששירות hive-metastore יתחבר ליציאות, לפני שיחליט שההפעלה הצליחה. הערך המקסימלי שניתן להזין הוא 1,800 שניות (30 דקות). |
| dataproc | startup.component.service-binding-timeout.hive-server2 | seconds |
משך הזמן שבו הסקריפט לטעינה בזמן ההפעלה של Managed Service for Apache Spark ימתין עד ש-hive-server2 יתחבר ליציאות, לפני שיחליט שההפעלה הצליחה. הערך המקסימלי שניתן להזין הוא 1,800 שניות (30 דקות). |
| dataproc | user-attribution.enabled | true או false |
מגדירים את המאפיין הזה כ-true כדי לשייך משימה של Managed Service for Apache Spark לזהות של המשתמש ששלח אותה (ערך ברירת המחדל הוא false). |
| dataproc | yarn.docker.enable | true או false |
מגדירים את הערך true כדי להפעיל את התכונה Managed Service for Apache Spark Docker on YARN (ערך ברירת המחדל הוא false). |
| dataproc | yarn.docker.image | docker image |
כשמפעילים את התכונה Managed Service for Apache Spark Docker on YARN (dataproc:yarn.docker.enable=true), אפשר להשתמש במאפיין האופציונלי הזה כדי לציין את קובץ האימג' של Docker (לדוגמה, dataproc:yarn.docker.image=gcr.io/project-id/image:1.0.1). אם מציינים את המאפיין, קובץ האימג' יורד ונשמר במטמון בכל הצמתים של האשכול במהלך יצירת האשכול. |
| dataproc | yarn.log-aggregation.enabled | true או false |
מאפשר (true) להפעיל צבירת נתונים של יומני YARN ב-temp bucket של האשכול. שם הקטגוריה הוא בפורמט הבא: dataproc-temp-<REGION>-<PROJECT_NUMBER>-<RANDOM_STRING>. (ברירת המחדל: true לגרסאות תמונה 1.5 ומעלה). הערה: הקטגוריה הזמנית של האשכול לא נמחקת כשהאשכול נמחק. המשתמשים יכולים גם להגדיר את המיקום של יומני YARN מצטברים על ידי החלפת המאפיין yarn.nodemanager.remote-app-log-dir של YARN. |
| knox | gateway.host | ip address |
כדי להפחית את הסיכון להרצת קוד מרחוק דרך ממשקי API לא מאובטחים של שרת ה-notebook, הגדרת ברירת המחדל לגרסאות תמונה 1.3 ואילך היא 127.0.0.1, שמגבילה את החיבורים ל-localhost כש-Component Gateway מופעל. אפשר לשנות את הגדרת ברירת המחדל, למשל על ידי הגדרת המאפיין הזה לערך 0.0.0.0 כדי לאפשר את כל החיבורים. |
| צפלין | zeppelin.notebook.gcs.dir | gs://<dir-path> |
המיקום ב-Cloud Storage שבו נשמרים ה-notebooks של Zeppelin. |
| צפלין | zeppelin.server.addr | ip address |
כדי להפחית את הסיכון להרצת קוד מרחוק דרך ממשקי API לא מאובטחים של שרת ה-notebook, הגדרת ברירת המחדל לגרסאות תמונה 1.3 ואילך היא 127.0.0.1, שמגבילה את החיבורים ל-localhost כש-Component Gateway מופעל. אפשר לשנות את הגדרת ברירת המחדל הזו, למשל על ידי הגדרת המאפיין הזה לערך 0.0.0.0 כדי לאפשר את כל החיבורים. |
1קובץ Keystore: קובץ ה-Keystore מכיל את אישור ה-SSL. הקובץ צריך להיות בפורמט Java KeyStore (JKS). כשמעתיקים אותו למכונות וירטואליות, השם שלו משתנה ל-keystore.jks.
אישור ה-SSL צריך להיות תעודת wildcard שחלה על כל צומת באשכול.
2קובץ Truststore: קובץ ה-Truststore צריך להיות בפורמט Java KeyStore (JKS). כשמעתיקים אותו למכונות וירטואליות, השם שלו משתנה ל-truststore.jks.