Cloud Profiler אוסף ומדווח באופן רציף על השימוש של האפליקציה במעבד (CPU) ועל הקצאת הזיכרון.
דרישות:
הכלי Profiler תומך רק בסוגי העבודה של Hadoop ו-Spark ב-Managed Service for Apache Spark (Spark, PySpark, SparkSql ו-SparkR).
המשימות צריכות לפעול במשך יותר מ-3 דקות כדי לאפשר ל-Profiler לאסוף נתונים ולהעלות אותם לפרויקט.
Managed Service for Apache Spark מזהה את cloud.profiler.enable ואת המאפיינים האחרים של cloud.profiler.* (ראו אפשרויות של Profiler), ואז מוסיף את האפשרויות הרלוונטיות של Profiler JVM להגדרות הבאות:
- Spark:
spark.driver.extraJavaOptionsו-spark.executor.extraJavaOptions - MapReduce:
mapreduce.task.profileו-mapreduce.task.profile.*נכסים אחרים
הפעלת הפרופיילינג
כדי להפעיל את Profiler ולהשתמש בו במשימות של Managed Service for Apache Spark ו-Hadoop:
יוצרים אשכול Managed Service for Apache Spark עם היקפי הרשאות של חשבון שירות שמוגדרים ל-
monitoring, כדי לאפשר לאשכול לתקשר עם שירות ה-Profiler.אם אתם משתמשים בחשבון שירות של מכונה וירטואלית בהתאמה אישית, הקצו את התפקיד סוכן Cloud Profiler לחשבון השירות של המכונה הווירטואלית בהתאמה אישית. התפקיד הזה כולל את ההרשאות הנדרשות לשירות של Profiler.
gcloud
gcloud dataproc clusters create cluster-name \ --scopes=cloud-platform \ --region=region \ other args ...
שליחת משימה ב-Managed Service for Apache Spark עם אפשרויות של Profiler
- שולחים משימת Spark או Hadoop עם אחת או יותר מהאפשרויות הבאות של Profiler:
אפשרות תיאור ערך חובה/אופציונלי ברירת מחדל הערות cloud.profiler.enableהפעלת פרופיילינג של המשימה trueאוfalseחובה falsecloud.profiler.nameהשם שמשמש ליצירת פרופיל ב-Profiler Service profile-name אופציונלי מזהה UUID של משימת Managed Service for Apache Spark cloud.profiler.service.versionמחרוזת שהמשתמש מספק כדי לזהות ולהבחין בין תוצאות של כלי הניתוח. Profiler Service Version אופציונלי מזהה UUID של משימת Managed Service for Apache Spark mapreduce.task.profile.mapsטווח מספרי של משימות מיפוי לפרופיל (לדוגמה: עד 100, מציינים "0-100") number range אופציונלי 0-10000 רלוונטי רק למשימות MapReduce של Hadoop mapreduce.task.profile.reducesטווח מספרי של משימות צמצום לפרופיל (לדוגמה: עד 100, מציינים "0-100") number range אופציונלי 0-10000 רלוונטי רק למשימות MapReduce של Hadoop
דוגמה ל-PySpark
Google Cloud CLI
דוגמה לשליחת משימת PySpark עם פרופיילינג:
gcloud dataproc jobs submit pyspark python-job-file \ --cluster=cluster-name \ --region=region \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- job args
ייווצרו שני פרופילים:
-
profiler_name-driverכדי ליצור פרופיל של משימות מנהל התקן של Spark -
profiler_name-executorכדי ליצור פרופיל של משימות Spark executor
לדוגמה, אם הערך של profiler_name הוא "spark_word_count_job", נוצרים הפרופילים spark_word_count_job-driver ו-spark_word_count_job-executor.
דוגמה ל-Hadoop
CLI של gcloud
דוגמה לשליחת משימה של Hadoop (teragen mapreduce) עם פרופיילינג:
gcloud dataproc jobs submit hadoop \ --cluster=cluster-name \ --region=region \ --jar=jar-file \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- teragen 100000 gs://bucket-name
לצפייה בפרופילים
צפייה בפרופילים מ-Profiler במסוף Google Cloud .