האדופ

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

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

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

נכון ל-31 באוגוסט 2022 הגרסה האחרונה של האדופ היא 3.3.4.

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

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

=== פרויקטים בסיסיים ===
* Hadoop Common
:רכיב זה כולל מרכיבי תשתית בסיסיים לצורך עבודה שלו, ובנוסף להם תוכנות בהיבטים שונים הקשורים בעבודת Hadoop, שפותחו על ידי חברים בקהילה. ברכיב זה נמצאים מנגנונים לגישה למערכות קבצים הנתמכות על ידי Hadoop.
* Hadoop Distributed File System בראשי תיבות HDFS
:מערכת קבצים המנהלת קבצים מבוזרים באופן המאפשר ביצועים גבוהים בגישה למידע אפליקטיבי (יישומיים). תוכננה כמערכת בעלת יכולת לנהל קבצים עם כמויות נתונים גדולות במיוחד (פטה-בתים) המבוזרות באלפי נקודות קצה ומשתמשות בחומרה רגילה, תוך שמירה על רמת שרידות גבוהה.
* YARN
:מסגרת לתזמון תהליכים וניהול משאבי אשכול מחשבים.
* Hadoop Map/Reduce
:מסגרת תוכנה לעיבוד מבוזר של קבצים גדולים הנמצאים באשכולות מחשב. מנגנון ה-Map/Reduce ממומש ב-Master. הוא מורכב משני שלבים:
# שלב המיפוי (Map) - בשלב זה מקבל ה Master קלט שעל פיו הוא מחליט כיצד לחלק את העבודה המבוזרת בין תהליכי משנה (Sub processes) כאשר כל אחד מהם מספק פתרון לחלק מהבעיה. לאחר מכן מחליט ה-Master כיצד לחלק את תהליכי המשנה בין Nodes שונים המבצעים כל אחד עיבוד שנותן פתרון לחלק הבעיה שהוקצה לו.
# שלב הצמצום (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)
* קסנדרה - בסיס נתונים ראשי (multi-master database) שמאפייניו הם: בסיס נתונים מבוזר, שרידות גבוהה וסילומיות (Scalability) גבוהה.
* Chukwa - מערכת לאיסוף מידע מתוך מערכת קבצים ב HDFS.
* HBase - בסיס הנתונים של Hadoop. מיועד לגישה רנדומלית בזמן אמיתי ל-Big Data לצורך ביצוע פעולות קריאה וכתיבה. טבלה בתוך בסיס הנתונים עשויה להכיל מיליארדי שורות ומיליוני טורים.
* Hive - מחסן נתונים ל-Hadoop. מתאים לסיכום נתונים, לניתוח נתונים ולשאילתות אד הוק. העבודה מולו היא בשפת HiveQL - שפה דמוית SQL.
* mahout - מאפשר בניית ספריות של מערכות ללימוד על ידי מכונה התומכות בסילומיות (Scalability) גבוהה.
:(מיושם מעל מנגנון Map/Reduce של Hadoop. ניתן להשתמש בו גם בסביבות טכנולוגיות אחרות המיישמות מנגנון Map/Reduce.)
*Pig - שפת תכנות גבוהה לניתוח נתונים באמצעות עיבוד מקבילי.
*zookeeper - שירות לקואורדינציה בין אפליקציות מבוזרות בסביבה עם דרישות ביצועים גבוהות.

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

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

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

== קישורים חיצוניים ==

* 
* Dhruba Borthakur, [http://borthakur.com/ftp/hadoopmicrosoft.pdf Hadoop Architecture and its usage in Facebook], Borthakur
* Dan Woods, [http://www.forbes.com/sites/danwoods/2011/11/03/explaining-hadoop-to-your-ceo/?partner=yahootix Explaining Hadoop to Your CEO], Forbes
* [http://www-01.ibm.com/software/data/infosphere/biginsights/ InfoSphere BigInsights] - תוכנה מסחרית של חברת IBM שמבוססת על Hadoop.
* [http://wiki.apache.org/hadoop/AmazonEC2 Running Hadoop on Amazon EC2] - עבודה עם Amazon EC2 של חברת אמזון המתבססת על שימוש ב Hadoop.
* Kevin Weil, [http://www.slideshare.net/kevinweil/hadoop-at-twitter-hadoop-summit-2010 Hadoop at Twitter (Hadoop Summit 2010)], Slideshare
* Pero Subasic, [http://www.cloudera.com/blog/2011/07/evolution-of-hadoop-ecosystem-aol-advertising-experience/ Evolution of Hadoop Ecosystem: AOL Advertising Experience], Cloudera
* Jeff Kelli, [http://wikibon.org/blog/cloudera-sizes-up-hadoop-competitors-emc-greenplum-and-yahoo-hortonworks/ Cloudera Sizes Up Hadoop Competitors EMC Greenplum and Yahoo HortonWorksof], Cloudera
* Rachel king, [http://www.businessweek.com/technology/getting-a-handle-on-big-data-with-hadoop-09072011.html/ Getting a Handle on Big Data with Hadoop], Bloomberg Businessweek
* Oracle White Paper, [http://www.oracle.com/technetwork/database/hadoop-nosql-oracle-twp-398488.pdf Hadoop and NoSQL Technologies and the Oracle Database], Oracle
* Scott M. Fuklton, [https://web.archive.org/web/20120108035114/http://www.readwriteweb.com/cloud/2011/12/windows-azure-adds-nodejs-supp.php Windows Azure adds Node.js Hadoop preview], ReadWrite Cloud
* [https://web.archive.org/web/20141023161456/http://ramkedem.com/2014/06/09/hadoop%d7%a1%d7%99%d7%a4%d7%95%d7%a8%d7%95-%d7%a9%d7%9c-%d7%94%d7%a4%d7%99%d7%9c-%d7%94%d7%a6%d7%94%d7%95%d7%91/ Hadoop, סיפורו של הפיל הצהוב - רם קדם]

==הערות שוליים==

*
קטגוריה:מחשוב ענן
קטגוריה:קרן התוכנה אפאצ'י