Cloud Profiler אוסף ומדווח באופן רציף על נתוני השימוש במעבד (CPU) של האפליקציה ועל נתוני הקצאת הזיכרון.
דרישות:
Profiler תומך רק בסוגי משימות של Hadoop ו-Spark (Spark, PySpark, SparkSql ו-SparkR) ב-Managed Service for Apache Spark.
העבודות צריכות לפעול יותר מ-3 דקות כדי ש-Profiler יוכל לאסוף נתונים ולהעלות אותם לפרויקט.
Managed Service for Apache Spark מזהה את cloud.profiler.enable ואת המאפיינים האחרים של cloud.profiler.* (ראו אפשרויות של כלי הפרופיל), ואז מוסיף את האפשרויות הרלוונטיות של כלי הפרופיל של JVM להגדרות הבאות:
- ניצוץ:
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כדי לאפשר לאשכול לתקשר עם שירות הפרופילר.אם אתם משתמשים בחשבון שירות מותאם אישית למכונה וירטואלית, צריך להעניק את התפקיד Cloud Profiler Agent לחשבון השירות המותאם אישית למכונה הווירטואלית. התפקיד הזה מכיל את ההרשאות הנדרשות לשירות פרופיל.
gcloud
gcloud dataproc clusters create cluster-name \ --scopes=cloud-platform \ --region=region \ other args ...
שליחת עבודה של Managed Service for Apache Spark עם אפשרויות של Profiler
- שליחת משימת Spark או Hadoop
עם אחת או יותר מהאפשרויות הבאות של כלי הפרופיל:
אפשרות תיאור ערך נדרש/אופציונלי ברירת מחדל הערות cloud.profiler.enableהפעלת יצירת פרופיל של המשרה trueאוfalseחובה falsecloud.profiler.nameהשם שמשמש ליצירת פרופיל בשירות Profiler 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טווח מספרי של משימות reducer ליצירת פרופיל (לדוגמה: כדי ליצור פרופיל של עד 100 משימות, מציינים '0-100') number range אופציונלי 0-10000 רלוונטי רק למשימות של מיפוי וצמצום ב-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-driverto profile spark driver tasks 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
צפייה בפרופילים
אפשר להציג פרופילים מכלי הפרופילים במסוף Google Cloud .
מה השלב הבא
- לעיון במאמרי העזרה בנושא Monitoring
- מידע נוסף על רישום ביומן
- מידע נוסף על Google Cloud Observability