Hadoop

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

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

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

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

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

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

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

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

  • Hadoop Common
רכיב זה כולל מרכיבי תשתית בסיסיים לצורך עבודה שלו, ובנוסף להם תוכנות בהיבטים שונים הקשורים בעבודת Hadoop, שפותחו על ידי חברים בקהילה. ברכיב זה נמצאים מנגנונים לגישה למערכות קבצים הנתמכות על ידי Hadoop.
  • Hadoop Distributed File System בראשי תיבות HDFS
מערכת קבצים המנהלת קבצים מבוזרים באופן המאפשר ביצועים גבוהים בגישה למידע אפליקטיבי. תוכננה כמערכת בעלת יכולת לנהל קבצים עם כמויות נתונים גדולות במיוחד (פטה-בתים) המבוזרות באלפי נקודות קצה ומשתמשות בחומרה רגילה, תוך שמירה על רמת שרידות גבוהה.
  • YARN
מסגרת לתזמון תהליכים וניהול משאבי אשכול מחשבים.
  • Hadoop Map/Reduce
מסגרת תוכנה לעיבוד מבוזר של קבצים גדולים הנמצאים באשכולות מחשב. מנגנון ה-Map/Reduce ממומש ב-Master. הוא מורכב משני שלבים:
  1. שלב המיפוי (Map) - בשלב זה מקבל ה Master קלט שעל פיו הוא מחליט כיצד לחלק את העבודה המבוזרת בין תהליכי משנה (Sub processes) כאשר כל אחד מהם מספק פתרון לחלק מהבעיה. לאחר מכן מחליט ה-Master כיצד לחלק את תהליכי המשנה בין 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 הופך לסטנדרט דה-פקטו בתחומו לאחר שיצרנים מובילים רבים משתמשים בו ככלי אסטרטגי ויצרנים מובילים אחרים הכריזו על שימוש בו בעתיד הקרוב.

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

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

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

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