Hadoop

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
Hadoop
לוגו של Hadoop
מפתח קרן התוכנה אפאצ'י
גרסה אחרונה 1.1.2 ב־15 בפברואר 2013[1]
מערכת הפעלה מתאים לכל המערכות
רישיון רישיון אפאצ'י
קטגוריה
hadoop.apache.org

Hadoop הוא פרויקט קוד פתוח של קרן התוכנה אפאצ'י המגדיר מסגרת תוכנה ליישום מבוזר המעבד כמויות גדולות של נתונים (Big Data).

Hadoop מאפשר עבודה של אלפי יחידות עיבוד (Nodes) המטפלות בו זמנית במידע בהיקף של Petabytes. העבודה היא על קבצים גדולים המבוזרים על פני אשכולות מחשבים תוך שימוש במודל תכנות פשוט. ההשראה לפרויקט באה מטכנולוגיות של חברת גוגל: MapReduce ומערכת הקבצים Google File System. הוא נכתב במקור בשפת ג'אווה כפרויקט פנימי של חברת Yahoo! והועבר בהמשך לתחזוקה בקרן אפאצ'י[דרוש מקור]. חברת Yahoo!‎ היא התורמת הגדולה ביותר לפרויקט ומשתמשת בתוצריו באופן אינטנסיבי. נכון לספטמבר 2011 היו Yahoo! וחברת Facebook שתי המשתמשות בעלות נפח הנתונים הגדול ביותר שטופל באמצעות Hadoop.

יוצר התוכנה הוא דאג קטינג (אנגלית Doug Cutting) שייעד אותה במקור לפרויקט מנוע החיפוש Nutch‏. Hadoop הוא שמו של פיל הצעצוע של בנו של קטינג. תמונתו של פיל זה מופיעה בלוגו של הפרויקט.

ארכיטקטורה[עריכת קוד מקור | עריכה]

הארכיטקטורה מורכבת מ-Master ורכיבי עיבוד המעבירים לו מידע. ב-Master מתקבלות תוצאות ומופקת תוצאת העיבוד.

תוכנת Hadoop מחולקת לשלושה פרויקטי ליבה ולפרויקטים נוספים המשלימים אותם, היוצרים ביחד את המוצר השלם.

פרויקטים בסיסיים[עריכת קוד מקור | עריכה]

  • Hadoop Common

רכיב זה כולל מרכיבי תשתית בסיסיים לצורך עבודה שלו ובנוסף להם תוכנות בהיבטים שונים הקשורים בעבודת Hadoop, שפותחו על ידי חברים בקהילה. ברכיב זה נמצאים מנגנונים לגישה ל מערכות קבצים הנתמכות על ידי Hadoop.

  • Hadoop Distributed File System בראשי תיבות HDFS

מערכת קבצים המנהלת קבצים מבוזרים באופן המאפשר ביצועים גבוהים בגישה למידע אפליקטיבי. תוכננה כמערכת בעלת יכולת לנהל קבצים עם כמויות נתונים גדולות במיוחד (Petabytes) המבוזרות באלפי נקודות קצה ומשתמשות בחומרה רגילה, תוך שמירה על רמת שרידות גבוהה.

  • YARN

מסגרת לתזמון תהליכים וניהול משאבי קלאסטר

  • Hadoop Map/Reduce

מסגרת תוכנה לעיבוד מבוזר של קבצים גדולים הנמצאים באשכולות מחשב. מנגנון ה-Map/Reduce ממומש ב-Master. הוא מורכב משני שלבים:

  1. שלב המיפוי (Map) - בשלב זה מקבל ה Master קלט שעל פיו הוא מחליט כיצד לחלק את העבודה המבוזרת בין תהליכי משנה (Sub processes) כאשר כל אחד מהם מספק פתרון לחלק מהבעיה. לאחר מכן כיצד לחלק אותם בין Nodes שונים המבצעים כל אחד עיבוד הנותן פתרון לחלקים השונים של הבעיה.
  2. שלב הצמצום (Reduce) - בשלב זה אוסף ה Master את תוצאות העיבודים של תהליכי משנה שכל אחד מהם מהווה פתרון לחלק מהבעיה ומייצר מהם פלט המהווה פתרון כולל לבעיה.

מסגרת זו באה התחדשה עם יציאת YARN וכעת ניתן להשתמש במסגרת הישנה ללא YARN ובמסגרת החדשה (x.‏2) המבוססת עליו.

גרסאות תוכנה[עריכת קוד מקור | עריכה]

  • גרסה יציבה - X.‏1.1
  • גרסת ביטא - X.‏1.2
  • גרסת אלפא - X.X.‏2
  • גרסה ללא שרידות של name node - ‏ X.‏0.23
  • גרסה ללא אבטחה - ‏ X.‏0.22
  • גרסה יציבה ישנה - X.‏0.20.203
  • גרסה ישנה - ‏ X.‏0.20

פרויקטים משלימים[עריכת קוד מקור | עריכה]

  • Avro - מערכת לסריאליזציה של נתונים (Data Serialization)‏[2]
  • קסנדרה - בסיס נתונים ראשי (multi-master database) שמאפייניו הם: בסיס נתונים מבוזר, שרידות גבוהה ומדרגיות (Scalability) גבוהה.‏[3]
  • Chukwa - מערכת לאיסוף מידע מתוך מערכת קבצים ב HDFS.‏[4]
  • HBase - בסיס הנתונים של Hadoop. מיועד לגישה רנדומלית בזמן אמיתי ל-Big Data לצורך ביצוע פעולות קריאה וכתיבה. טבלה בתוך בסיס הנתונים עשויה להכיל מיליארדי שורות ומיליוני טורים.‏[5]
  • Hive - מחסן נתונים ל Hadoop. מתאים לסיכום נתונים, לניתוח נתונים ולשאילתות אד-הוק. העבודה מולו היא בשפת HiveQL. שפה דמוית SQL.‏[6]
  • mahout - מאפשר בניית ספריות של מערכות ללימוד על ידי מכונה התומכות במדרגיות (Scalability) גבוהה.‏[7]
(מיושם מעל מנגנון ה Map/Reduce של Hadoop. ניתן להשתמש בו גם בסביבות טכנולוגיות אחרות המיישמות מנגנון Map/Reduce.)

משתמשים[עריכת קוד מקור | עריכה]

ב-Hadoop משתמשות חברות תוכנה רבות וידועות במיוחד לצורך ניהול כמויות גדולות של נתונים באינטרנט. בין המשתמשים רשתות חברתיות מקוונות ומנועי חיפוש. למעשה Hadoop הופך לסטנדרט דה-פקטו בתחומו לאחר שיצרנים מובילים רבים משתמשים בו ככלי אסטרטגי ויצרנים מובילים אחרים הכריזו על שימוש בו בעתיד הקרוב.

בין המשתמשים הבולטים בתוכנה ניתן למנות את יאהו!, פייסבוק, אמאזון, IBM, טוויטר, אמריקה און ליין ועוד. EMC, מיקרוסופט ואורקל הכריזו על שימוש עתידי ב-Hadoop במסגרת הפתרונות שלהם ל-Big Data.

Cloudera היא חברה בולטת המבססת את מוצריה על Hadoop בתוספת מוצרי קוד פתוח נוספים.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]