Hadoop, yaygın olarak kullanılmakta olan arama motoru kütüphanesi Apache Lucene projesinin de geliştiricisi olan Doug Cutting tarafından geliştirilmiştir. Hadoop’un temelleri, Apache Lucene kullanılarak açık kaynak bir arama motoru geliştirilmesi fikriyle ortaya çıkan Apache Nutch projesinde atılmıştır. Nutch projesi, 2002 yılında başlamış ve proje kapsamında, bir içerik çekme sistemi (crawler) ve arama sistemi geliştirilmiştir. Ancak projenin başlangıç haliyle web üzerindeki milyarlarca sayfaya ölçeklenmesi mümkün görülmemiştir. Bu noktada, Google arama motorunun kullandığı dağıtık dosya sisteminin (Google File System, GFS) mimarisinin anlatıldığı 2003 tarihli yayın [1] ve Google’ın geliştirdiği dağıtık veri işleme modeli olan MapReduce programlama modelinin anlatıldığı 2004 tarihli yayından [2] esinlenilerek, Nutch için dağıtık bir dosya sistemi ve MapReduce gerçekleştirimi yapılmıştır.

hadoop-nedir-2İlerleyen zamanlarda, Nutch için geliştirilen altyapının arama dışında başka alanlara da uygulanabileceği düşüncesiyle, Hadoop adı altında bağımsız bir alt proje oluşturulmuştur. Doug Cutting’in Yahoo’ya katılmasıyla, Hadoop’un geniş ölçekte bir sisteme dönüştürülmesi için gerekli kaynaklar sağlanmıştır. 2008 yılında, Yahoo, arama indeksinin 10.000 çekirdekli bir Hadoop kümesi tarafından oluşturulduğunu duyurmuştur. Hadoop, 2008 yılından beri üst seviye bir Apache projesi olarak yer almaktadır.

Hadoop’un büyük miktarda veri için genel amaçlı dağıtık veri depolama ve veri işleme konusunda sağladığı platform, endüstriden genel kabul görmüştür. Günümüzde, Oracle, Microsoft, HP gibi önde gelen pek çok bilişim firması, Hadoop desteği veya Hadoop ile entegrasyon çözümleri sunmaktadır. Ayrıca, birçok firmanın Hadoop dağıtımı vardır; bunların arasında Cloudera, Hortonworks, MapR gibi Hadoop firmalarının yanı sıra, IBM, Intel ve EMC gibi köklü firmalar da sayılabilir. Hadoop, Yahoo’nun yanı sıra Last.fm, Facebook, Twitter, New York Times, eBay, LinkedIn gibi pek çok şirket tarafından kullanılmaktadır [3, 4]. Örneğin, Facebook, Hadoop ve Hadoop ekosistemindeki ürünlerden Hive ve HBase’i veri ambarı ve gerçek zamanlı uygulamalar için kullanmaktadır. Twitter, Hadoop ve Hadoop ekosistemindeki Pig ve HBase’i veri analizi, görselleştirme, sosyal çizge analizi ve makine öğrenmesi gibi amaçlarla kullanmaktadır.

Hadoop, büyük verinin saklanması ve işlenmesi için maliyet etkin, ölçeklenebilir ve açık kaynak bir çözümdür. Hadoop, temelde iki ana kısımdan oluşur: HDFS (Hadoop Distributed File System) ve MapReduce. HDFS, Hadoop’un dağıtık dosya sistemidir ve dağıtık veri depolama altyapısı oluşturur. Hadoop MapReduce ise, dağıtık veri işleme için gerekli programlama modelini sağlar. Hadoop mimarisi, verilerin bölümlenmesine ve büyük veri kümelerinin paralel bir şekilde işlenmesine izin verir. Bu işlemlerin detayları geliştiricilerden bağımsız olarak arka planda yürütülür.

Hadoop ve ekosistemindeki ürünler için tercih edilen sunucular, genel olarak “orta sınıf” olarak adlandırılan, nispeten düşük maliyetli ve kolaylıkla temin edilebilen sunuculardır (commodity hardware). Hadoop, hem hataya dayanıklı hem de yedekli bir mimari sağlar. Veri depolama ve veri işleme yapısı sayesinde, bir Hadoop kümesi yeni sunucuların eklenmesiyle kolaylıkla ölçeklenebilir ve petabaytlarca verinin içerildiği binlerce sunucuya erişilebilir. Bu bölümün devamında, Hadoop kurulum ve konfigürasyonu, HDFS ve Hadoop’la ilgili temel bilgiler sunulacak, 3. bölümde ise, Hadoop MapReduce programlama modeli detaylı olarak ele alınacaktır.

Kaynaklar

[1] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, The Google File System, SOSP’03, October 19–22, 2003, Bolton Landing, New York, USA

[2] Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004, 2004

[3] Tom White, Hadoop - The Definitive Guide, O'reilly, 3rd edition

[4] Alex Holmes, Hadoop in Practice, Manning
PAYLAŞ

YORUM YOK