כדי לשפר את היעילות של אפליקציית Spark, חיוני לעקוב אחר הביצועים וההתנהגות שלו. בפוסט זה, אנו מדגימים כיצד לפרסם מדדי Spark מפורטים אמזון EMR ל אמזון CloudWatch. זה ייתן לך את היכולת לזהות צווארי בקבוק תוך אופטימיזציה של ניצול המשאבים.
CloudWatch מספקת פתרון ניטור חזק, ניתן להרחבה וחסכוני עבור משאבים ויישומים של AWS, עם אפשרויות התאמה אישית חזקות ושילוב חלק עם שירותי AWS אחרים. כברירת מחדל, אמזון EMR שולח מדדים בסיסיים ל-CloudWatch כדי לעקוב אחר הפעילות והתקינות של אשכול. מערכת המדדים הניתנים להגדרה של Spark מאפשרת איסוף מדדים במגוון כיורים, כולל קבצי HTTP, JMX ו-CSV, אך נדרשת תצורה נוספת כדי לאפשר ל-Spark לפרסם מדדים ל-CloudWatch.
סקירת פתרונות
פתרון זה כולל תצורת Spark לשליחת מדדים לכיור מותאם אישית. ה-Sink המותאם אישית אוסף רק את המדדים המוגדרים בקובץ Metricfilter.json. הוא משתמש בסוכן CloudWatch כדי לפרסם את המדדים למרחב שמות מותאם אישית של Cloudwatch. סקריפט הפעולה של bootstrap הכלול אחראי על התקנה וקביעת התצורה של סוכן CloudWatch והספרייה המטרית ב- ענן מחשוב אלסטי של אמזון (Amazon EC2) מקרים של EMR. לוח מחוונים של CloudWatch יכול לספק תובנה מיידית לגבי הביצועים של אפליקציה.
התרשים הבא ממחיש את ארכיטקטורת הפתרון וזרימת העבודה.
זרימת העבודה כוללת את השלבים הבאים:
- משתמשים מתחילים עבודת Spark EMR, ויוצרים שלב באשכול EMR. עם Apache Spark, עומס העבודה מופץ על פני הצמתים השונים של אשכול ה-EMR.
- בכל צומת (מופע EC2) של האשכול, ספריית Spark לוכדת ודוחפת נתונים מדדים לסוכן CloudWatch, אשר צובר את הנתונים המטריים לפני שדוחפים אותם ל-CloudWatch כל 30 שניות.
- משתמשים יכולים להציג את המדדים הנגישים למרחב השמות המותאם אישית בקונסולת CloudWatch.
אנו מספקים AWS CloudFormation תבנית בפוסט זה כמדריך כללי. התבנית מדגימה כיצד להגדיר סוכן CloudWatch ב- Amazon EMR כדי לדחוף מדדי Spark ל-CloudWatch. אתה יכול לסקור ולהתאים אותו לפי הצורך כדי לכלול את תצורות האבטחה של Amazon EMR שלך. כתרגול מומלץ, אנו ממליצים לכלול את תצורות האבטחה של Amazon EMR שלך בתבנית ל להצפין נתונים במעבר.
עליך גם להיות מודע לכך שחלק מהמשאבים שנפרסים על ידי מחסנית זו כרוכים בעלויות כאשר הם נשארים בשימוש. בנוסף, מדדי EMR אל תגרור עלויות CloudWatch. עם זאת, מדדים מותאמים אישית כרוכים בחיובים המבוססים על תמחור מדדי CloudWatch. למידע נוסף, ראה תמחור אמזון CloudWatch.
בחלקים הבאים נעבור על השלבים הבאים:
- צור והעלה את ספריית המדדים, סקריפט ההתקנה והגדרת המסנן ל- שירות אחסון פשוט של אמזון (אמזון S3) דלי.
- השתמש בתבנית CloudFormation כדי ליצור את המשאבים הבאים:
- עקוב אחר מדדי Spark בקונסולת CloudWatch.
תנאים מוקדמים
הפוסט הזה מניח שיש לך את הדברים הבאים:
- An חשבון AWS.
- דלי S3 לאחסון סקריפט האתחול, הספרייה והגדרת המסנן המטרי.
- VPC שנוצר ב ענן וירטואלי פרטי של אמזון (Amazon VPC), שם יושק אשכול ה-EMR שלך.
- תפקידי שירות IAM המוגדרים כברירת מחדל עבור הרשאות אמזון EMR לשירותי ומשאבים של AWS. אתה יכול ליצור תפקידים אלה עם הפקודה aws emr create-default-roles ב- ממשק שורת הפקודה של AWS (AWS CLI).
- זוג מפתחות EC2 אופציונלי, אם אתה מתכנן להתחבר לאשכול שלך דרך SSH ולא מנהל מושב, יכולת של מנהל מערכות AWS.
הגדר את המדדים הנדרשים
כדי להימנע משליחת נתונים מיותרים ל-CloudWatch, הפתרון שלנו מיישם מסנן מטרי. סקור את תיעוד ניצוץ כדי להכיר את מרחבי השמות והמדדים הקשורים אליהם. קבע אילו מדדים רלוונטיים ליישום וליעדי הביצועים הספציפיים שלך. יישומים שונים עשויים לדרוש מדדים שונים לניטור, בהתאם לעומס העבודה, דרישות עיבוד הנתונים ויעדי האופטימיזציה. יש להגדיר את שמות הערכים שברצונך לעקוב אחריהם בקובץ Metricfilter.json, יחד עם מרחבי השמות המשויכים להם.
יצרנו דוגמה להגדרה של Metricfilter.json, הכוללת לכידת מדדים הקשורים ל-I/O של נתונים, איסוף אשפה, לחץ זיכרון ומעבד, ומדדי Spark Job, Spark ו-Spark.
שים לב שמדדים מסוימים אינם זמינים בכל גרסאות המהדורה של Spark (לדוגמה, appStatus הוצג ב-Spark 3.0).
צור והעלה את הקבצים הדרושים לדלי S3
לקבלת מידע נוסף, ראה העלאת חפצים ו התקנה והרצה של סוכן CloudWatch בשרתים שלך.
כדי ליצור ולהעלות את סקריפט האתחול, בצע את השלבים הבאים:
- בקונסולת Amazon S3, בחר את דלי ה-S3 שלך.
- על אובייקטים בחר, בחר העלה.
- בחרו הוסף קבצים, ולאחר מכן לבחור את Metricfilter.json, installer.sh, ו examplejob.sh קבצים.
- בנוסף, העלה את ה
emr-custom-cw-sink-0.0.1.jar
קובץ ספריית מדדים התואם לגרסת השחרור של Amazon EMR שבה תשתמש: - בחרו העלה, ושימו לב ל-S3 URI של הקבצים.
אספקת משאבים עם תבנית CloudFormation
בחרו השקת ערימה כדי להפעיל ערימת CloudFormation בחשבון שלך ולפרוס את התבנית:
תבנית זו יוצרת תפקיד IAM, פרופיל מופע IAM, אשכול EMR ולוח המחוונים של CloudWatch. האשכול מתחיל בסיס אפליקציה לדוגמה. תחויב עבור משאבי ה-AWS המשמשים אם תיצור מחסנית מתבנית זו.
אשף CloudFormation יבקש ממך לשנות או לספק את הפרמטרים הבאים:
- InstanceType - סוג מופע עבור כל קבוצות המופעים. ברירת המחדל היא m5.2xlarge.
- InstanceCountCore – מספר המופעים בקבוצת מופעי הליבה. ברירת המחדל היא 4.
- EMRRReleaseLabel - תווית שחרור אמזון EMR אתה רוצה להשתמש. ברירת המחדל היא emr-6.9.0.
- BootstrapScriptPath – נתיב S3 של סקריפט האתחול של ההתקנה installer.sh שהעתקת קודם לכן.
- MetricFilterPath – נתיב S3 של הגדרת Metricfilter.json שהעתקת קודם לכן.
- MetricsLibraryPath – נתיב S3 של ספריית CloudWatch emr-custom-cw-sink-0.0.1.jar שהעתקת קודם לכן.
- CloudWatchNamespace - השם של מרחב השמות המותאם אישית של CloudWatch שבו יש להשתמש.
- SparkDemoApplicationPath – נתיב S3 של סקריפט examplejob.sh שהעתקת קודם לכן.
- תת רשת - רשת המשנה EC2 שבה האשכול מופעל. עליך לספק פרמטר זה.
- EC2KeyPairName – זוג מפתחות EC2 אופציונלי לחיבור לצמתי אשכולות, כחלופה ל-Session Manager.
הצג את המדדים
לאחר פריסת מחסנית CloudFormation בהצלחה, העבודה לדוגמה מתחילה באופן אוטומטי ולוקח כ-15 דקות להשלמתו. במסוף CloudWatch, בחר לוחות מחוונים בחלונית הניווט. לאחר מכן סנן את הרשימה לפי הקידומת SparkMonitoring.
לוח המחוונים לדוגמה כולל מידע על האשכול וסקירה כללית של העבודות, השלבים והמשימות של Spark. מדדים זמינים גם תחת מרחב שמות מותאם אישית שמתחיל ב EMRCustomSparkCloudWatchSink
.
זיכרון, מעבד, קלט/פלט ומדדי הפצת משימות נוספים כלולים גם כן.
לבסוף, מדדי איסוף אשפה של Java זמינים לכל מבצע.
לנקות את
כדי להימנע מחיובים עתידיים בחשבון שלך, מחק את המשאבים שיצרת בהדרכה זו. אשכול ה-EMR יגרור חיובים כל עוד האשכול פעיל, אז עצור אותו כשתסיים. השלם את השלבים הבאים:
- במסוף CloudFormation, בחלונית הניווט, בחר ערימות.
- בחר את הערימה שהשקת (
EMR-CloudWatch-Demo
), אז תבחר מחק. - רוקן את דלי S3 שיצרת.
- מחק את דלי S3 שיצרת.
סיכום
כעת, לאחר שהשלמת את השלבים בהדרכה זו, סוכן CloudWatch פועל על מארחי האשכולות שלך ומוגדר לדחוף מדדי Spark ל-CloudWatch. עם תכונה זו, אתה יכול לפקח ביעילות על הבריאות והביצועים של עבודות Spark שלך הפועלות על אמזון EMR, לזהות בעיות קריטיות בזמן אמת ולזהות את גורמי השורש במהירות.
אתה יכול לארוז ולפרוס פתרון זה באמצעות תבנית CloudFormation כמו תבנית זו לדוגמה, שיוצרת את תפקיד פרופיל המופע של IAM, לוח המחוונים של CloudWatch ואשכול EMR. קוד המקור של הספרייה זמין ב- GitHub להתאמה אישית.
כדי לקחת את זה הלאה, שקול להשתמש במדדים האלה באזעקות CloudWatch. אתה יכול לאסוף אותם עם אזעקות אחרות לתוך א אזעקה מורכבת או להגדיר פעולות אזעקה כגון שליחה שירות התראה פשוט של אמזון (Amazon SNS) התראות להפעלת תהליכים מונעי אירועים כגון AWS למבדה פונקציות.
על המחבר
Le Clue Lubbe הוא מהנדס ראשי ב-AWS. הוא עובד עם הלקוחות הארגוניים הגדולים ביותר שלנו כדי לפתור כמה מהבעיות הטכניות המורכבות ביותר שלהם. הוא מניע פתרונות רחבים באמצעות חדשנות כדי להשפיע ולשפר את חיי הלקוחות שלנו.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. רכב / רכבים חשמליים, פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- ChartPrime. הרם את משחק המסחר שלך עם ChartPrime. גישה כאן.
- BlockOffsets. מודרניזציה של בעלות על קיזוז סביבתי. גישה כאן.
- מקור: https://aws.amazon.com/blogs/big-data/monitor-apache-spark-applications-on-amazon-emr-with-amazon-cloudwatch/
- :הוא
- :לֹא
- :איפה
- 1
- 100
- 107
- 15%
- 20
- 30
- 9
- a
- יכולת
- גישה
- חֶשְׁבּוֹן
- מכיר
- לרוחב
- פעולה
- פעולות
- פעיל
- פעילות
- נוסף
- בנוסף
- סוֹכֵן
- אזעקה
- תעשיות
- מאפשר
- לאורך
- גם
- חלופה
- אמזון בעברית
- אמזון
- אמזון EMR
- אמזון שירותי אינטרנט
- an
- ו
- אַפָּשׁ
- אפאצ 'י ספארק
- בקשה
- יישומים
- בערך
- אדריכלי
- ארכיטקטורה
- ARE
- AS
- המשויך
- מניח
- At
- מחבר
- באופן אוטומטי
- זמין
- לְהִמָנַע
- מודע
- AWS
- מבוסס
- בסיסי
- BE
- לפני
- הטוב ביותר
- אוזן נעל
- רחב
- אבל
- by
- CAN
- יכולת
- לוכדת
- לכידה
- גורמים
- מסוים
- חיובים
- בחרו
- אשכול
- קוד
- לגבות
- אוסף
- אוסף
- להשלים
- השלמת
- מורכב
- לחשב
- תְצוּרָה
- מוגדר
- לְחַבֵּר
- מקשר
- לשקול
- קונסול
- ליבה
- מתכתב
- עלות תועלת
- עלויות
- יכול
- CPU
- לִיצוֹר
- נוצר
- יוצר
- יוצרים
- קריטי
- מנהג
- לקוחות
- התאמה אישית
- אישית
- לוח מחוונים
- נתונים
- עיבוד נתונים
- בְּרִירַת מֶחדָל
- מוגדר
- הגדרה
- להפגין
- מדגים
- תלוי
- לפרוס
- פרס
- פורס
- מְפוֹרָט
- לקבוע
- אחר
- מופץ
- הפצה
- עשה
- לא
- כוננים
- כל אחד
- מוקדם יותר
- יעילות
- יְעִילוּת
- לאפשר
- מהנדס
- מִפְעָל
- לקוחות ארגוניים
- חיוני
- Ether (ETH)
- דוגמה
- מאפיין
- שלח
- קבצים
- לסנן
- הבא
- בעד
- החל מ-
- פונקציות
- נוסף
- עתיד
- כללי
- לקבל
- לתת
- Go
- שערים
- קְבוּצָה
- קבוצה
- מדריך
- יש
- he
- בְּרִיאוּת
- מארחים
- איך
- איך
- אולם
- HTML
- http
- HTTPS
- IAM
- לזהות
- זיהוי
- if
- מדגים
- איור
- פְּגִיעָה
- מיישמים
- לשפר
- in
- לכלול
- כלול
- כולל
- כולל
- מידע
- חדשנות
- תובנה
- התקנה
- התקנה
- למשל
- מיידי
- השתלבות
- אל תוך
- הציג
- בעיות
- IT
- שֶׁלָה
- Java
- עבודה
- מקומות תעסוקה
- ג'סון
- מפתח
- הגדול ביותר
- לשגר
- הושק
- השקות
- סִפְרִיָה
- החיים
- כמו
- קו
- רשימה
- ארוך
- מנהל
- מאי..
- זכרון
- מטרי
- מדדים
- דקות
- לשנות
- צג
- ניטור
- יותר
- רוב
- צריך
- שם
- שמות
- ניווט
- נחוץ
- הבא
- צומת
- צמתים
- הערות
- הודעה
- הודעות
- מספר
- יעדים
- of
- on
- רק
- אופטימיזציה
- מיטוב
- אפשרויות
- or
- אחר
- שלנו
- סקירה
- חבילה
- זוג
- זגוגית
- פרמטר
- פרמטרים
- נתיב
- עבור
- ביצועים
- הרשאות
- תכנית
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- דיוקן
- הודעה
- חזק
- תרגול
- לחץ
- תמחור
- מנהל
- פְּרָטִי
- בעיות
- תהליכים
- תהליך
- פּרוֹפִיל
- לספק
- מספק
- לפרסם
- דחוף
- דוחף
- דוחף
- מהירות
- במקום
- ממשי
- זמן אמת
- להמליץ
- קָשׁוּר
- לשחרר
- רלוונטי
- להשאר
- לדרוש
- נדרש
- דרישות
- משאב
- ניצול משאבים
- משאבים
- אחראי
- סקירה
- חָסוֹן
- תפקיד
- תפקידים
- שורש
- ריצה
- להרחבה
- בצורה חלקה
- סעיף
- סעיפים
- אבטחה
- לִרְאוֹת
- לשלוח
- שליחה
- שולח
- שרות
- שירותים
- מושב
- צריך
- פָּשׁוּט
- So
- פִּתָרוֹן
- פתרונות
- לפתור
- כמה
- מָקוֹר
- קוד מקור
- לעורר
- ספציפי
- לערום
- התמחות
- שלבים
- התחלה
- החל
- התחלות
- שלב
- צעדים
- עצור
- אחסון
- המשנה
- בהצלחה
- כזה
- סיכום
- מערכת
- מערכות
- לקחת
- לוקח
- המשימות
- משימות
- טכני
- תבנית
- מֵאֲשֶׁר
- זֶה
- השמיים
- המקור
- שֶׁלָהֶם
- אותם
- אז
- אלה
- הֵם
- זֶה
- דרך
- זמן
- ל
- לעקוב
- להפעיל
- תחת
- להשתמש
- מְשׁוּמָשׁ
- באמצעות
- מנצל
- מגוון
- גרסה
- לצפיה
- וירטואלי
- בהדרכה
- רוצה
- היה
- we
- אינטרנט
- שירותי אינטרנט
- מתי
- אשר
- בזמן
- יצטרך
- עם
- זרימת עבודה
- עובד
- X
- יאמל
- אתה
- זפירנט