כמה מילים על - Data monitoring using Ambari, Oozie and Zookeeper

המטרה של כלים אלו היא לנהל, לנטר ולהפעיל Hadoop clusters.

Apache Ambari – כלי שמאפשר ניהול, ניטור ושליטה על Hadoop clusters.

Apache Oozie – זהו java web application שמשמש לתזמן Apache Hadoop jobs. הוא יודע לאחד מספר jobs ברצף למשימה לוגית אחת.

Apache Zookeeper – כלי שמאפשר תיאום בין תהליכים מבוזרים.

Apache Ambari

כלי זה מקל על ניהול מערכת Hadoop. הוא מספק web UI לניהול המערכת, יחד עם RESTful API. להלן איור מתוך ה-UI:


Ambari מאפשר למפתחי אפליקציות להכניס את יכולות הניהול והניטור לאפליקציות שלהם ע"י שימוש ב-REST API שלו.

Ambari מקל על מנהלי מערכות בדרכים הבאות:

  • הוא מספק מדריך של צעד אחרי צעד להתקנת Hadoop services על כמה hosts שצריכים.
  • הוא עוזר בקינפוג ה-Hadoop services של ה-cluster.
  • הוא מאפשר ניהול של ה-Hadoop services כולל הרצה, עצירה, וקינפוג ה-services בכל ה-cluster.
  • הוא מספק dashboard לניטור המצב של ה-cluster (כמו למשל health check).
  • הוא משתמש ב-Ambari metrics system לצורך איסוף מדדים של המערכת.
  • הוא משתמש ב-Ambari alert framework בשביל להתריע כשיש צורך בתשומת לב מיוחדת.

Apache Oozie

Oozie הוא java web application ליצירת workflow של Hadoop. ניתן בעזרתו לתזמן, להריץ ולנהל jobs של Hadoop. הוא יכול לאחד מספר jobs ולהריץ אותם ברצף ובכך ליצור משימה מורכבת וגדולה. ניתן גם להריץ בעזרתו מספר jobs במקביל.

Oozie יודע לעבוד בצורה טובה עם Hadoop stack כמו למשל MapReduce, Hive, Pig, Sqoop. כמו כן ניתן להריץ בעזרתו תוכנות כלליות כמו Java ו-Shell.

Workflow זה בעצם אוסף של פעולות מקושרות, כמו שניתן לראות בדיאגרמה הבאה (מהאתר הרשמי):

ה-workflow כתובים ב-hPDL (שזו XML process definition language). פעולות ב-workflow בעצם מריצות פעולות במערכות מרוחקות (למשל פעולות של Hadoop או Pig), ומעדכנות את Oozie ברגע שהפעולה מסתיימת, ואז Oozie מפעיל את הפעולה הבאה ב-workflow.

Apache Zookeeper

זהו כלי שעוזר לבצע שיתוף פעולה בין תהליכים מבוזרים ב-hadoop cluster. להלן חלק מהאפשרויות שהוא מציע:
  • קריאה בשם לכל מכונה ב-cluster
  • ניהול הקונפיגורציה כך שיהיה קל לבצע סינכרון של הקונפיגורציה בין מכונות ב-cluster
  • סינכרון בין תהליכים. הוא מאפשר הרצה ועצירה של מכונות ובכך עוזר בהרצת תהליכים בסדר הנכון
  • הוא יכול למנות מכונה שהיא master שתנהל את כל הבקשות מה-client בשם ה-cluster כולו. אם ה-master נופל מכל סיבה שהיא, הוא ימנה מכונה אחרת שתחליף אותו.
  • הוא מאפשר תקשורת בין המכונות ב-cluster. הוא מאפשר תקשורת בסגנון של publish/subscribe, ויצירה של queue שמבטיח שליחה של הודעות גם כשיש מכונות שנפלו.
















אם אהבתם, תכתבו משהו למטה...

אין תגובות:

הוסף רשומת תגובה