במאמר הזה מוסבר איך להגדיר את הפריסה של Google Kubernetes Engine כדי שתוכלו להשתמש בשירות המנוהל של Google Cloud ל-Prometheus כדי לאסוף מדדים מ-Apache Hadoop. במאמר הזה מוסבר איך:
- מגדירים את הכלי לייצוא ל-Hadoop כדי לדווח על מדדים.
- אפשר לגשת למרכז בקרה מוגדר מראש ב-Cloud Monitoring כדי לראות את המדדים.
- הגדרת כללי התראה למעקב אחר המדדים.
ההוראות האלה רלוונטיות רק אם אתם משתמשים ב אוסף מנוהל עם השירות המנוהל ל-Prometheus. אם אתם משתמשים באיסוף שמוגדר באופן עצמאי, תוכלו לעיין במאגר המקור של JMX exporter כדי לקבל מידע על ההתקנה.
ההוראות האלה הן דוגמה, והן אמורות לפעול ברוב סביבות Kubernetes. אם נתקלתם בבעיה בהתקנת אפליקציה או כלי לייצוא בגלל מדיניות אבטחה או מדיניות ארגונית מגבילה, מומלץ לעיין במסמכי קוד פתוח לקבלת תמיכה.
מידע על Apache Hadoop זמין במאמר Apache Hadoop.
דרישות מוקדמות
כדי לאסוף מדדים מ-Hadoop באמצעות שירות מנוהל ל-Prometheus ואיסוף מנוהל, הפריסה שלכם צריכה לעמוד בדרישות הבאות:
- האשכול צריך להריץ את Google Kubernetes Engine בגרסה 1.28.15-gke.2475000 ואילך.
- צריך להפעיל את השירות המנוהל ל-Prometheus עם איסוף מנוהל. מידע נוסף זמין במאמר תחילת השימוש באוסף מנוהל.
- כדי להשתמש בלוחות הבקרה שזמינים ב-Cloud Monitoring לשילוב של Hadoop, צריך להשתמש בגרסה 0.17.0 ואילך של
jmx-exporter.מידע נוסף על לוחות הבקרה הזמינים מופיע במאמר הצגת לוחות בקרה.
port ו-matchLabels תואמים לערכים של ה-pods של Hadoop שרוצים לעקוב אחריהם.
צריך להגדיר את NameNodes ואת DataNodes כך שיקבלו חיבורי JMX מרחוק.
אפשר לבצע את ההגדרה הזו על ידי הגדרת משתני הסביבה NAMENODE_HDFS_OPTS ו-DATANODE_HDFS_OPTS, כמו שמתואר במדריך Unix Shell של Hadoop.
התקנת כלי הייצוא של Hadoop
מומלץ להתקין את כלי הייצוא של Hadoop,
jmx-exporter,
כ-sidecar לעומס העבודה של Hadoop.
מידע על שימוש ב-sidecars זמין במאמר הרחבת אפליקציות ב-Kubernetes באמצעות pods מרובי-קונטיינרים.
כדי להתקין את jmx-exporter כקובץ עזר ל-Hadoop, צריך לשנות את ההגדרה של Hadoop כמו בדוגמה הבאה:
צריך להוסיף להגדרה את כל השורות שמופיע לפניהן הסמל +.
כדי להחיל שינויים בתצורה מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
הגדרה של משאב PodMonitoring
כדי לגלות את היעד, ל-שירות מנוהל ל-Prometheus Operator נדרש משאב PodMonitoring שתואם ל-JMX exporter באותו מרחב שמות.
אפשר להשתמש בהגדרה הבאה של PodMonitoring:
מוודאים שסלקטורי התוויות והיציאה תואמים לסלקטורים וליציאה שבהם השתמשתם במאמר בנושא התקנת כלי הייצוא של Hadoop.
כדי להחיל שינויים בתצורה מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
הגדרת כללים והתראות
אפשר להשתמש בהגדרות Rules הבאות כדי להגדיר התראות על מדדי Hadoop:
כדי להחיל שינויים בתצורה מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
מידע נוסף על החלת כללים על האשכול זמין במאמר הערכה והתראות של כללים מנוהלים.
אפשר לשנות את ערכי הסף של ההתראות בהתאם לאפליקציה.אימות ההגדרה
אפשר להשתמש ב-Metrics Explorer כדי לוודא שהגדרתם את JMX exporter בצורה נכונה. יכול להיות שיחלפו דקה או שתיים עד שמערכת Cloud Monitoring תעבד את המדדים.
כדי לוודא שהמדדים נאספים, מבצעים את הפעולות הבאות:
-
במסוף Google Cloud , עוברים לדף leaderboard Metrics explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים של חלונית הכלי ליצירת שאילתות, לוחצים על הלחצן ששמו הוא code MQL או code PromQL.
- מוודאים שהאפשרות PromQL נבחרה במתג שפה. המתג לשפה נמצא באותו סרגל כלים שבו אפשר לעצב את השאילתה.
- מזינים ומריצים את השאילתה הבאה:
up{job="hadoop", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
הצגת מרכזי בקרה
השילוב עם Cloud Monitoring כולל את לוח הבקרה Hadoop Prometheus Overview. לוחות הבקרה מותקנים באופן אוטומטי כשמגדירים את השילוב. אפשר גם לראות תצוגות מקדימות סטטיות של מרכזי בקרה בלי להתקין את האינטגרציה.
כדי לראות מרכז בקרה שהותקן:
-
במסוף Google Cloud , עוברים לדף Dashboards:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- לוחצים על הכרטיסייה רשימת מרכזי בקרה.
- בוחרים בקטגוריה שילובים.
- לוחצים על השם של מרכז הבקרה, לדוגמה, Hadoop Prometheus Overview.
כדי לראות תצוגה מקדימה סטטית של מרכז הבקרה:
-
נכנסים לדף
Integrations במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- לוחצים על המסנן Kubernetes Engine של פלטפורמת הפריסה.
- מחפשים את השילוב של Apache Hadoop ולוחצים על הצגת פרטים.
- לוחצים על הכרטיסייה מרכזי בקרה.
פתרון בעיות
מידע על פתרון בעיות בהוספת מדדים זמין במאמר פתרון בעיות שקשורות להוספה, בקטע בעיות באיסוף נתונים ממייצאים.