Hadoop Nedir?
Hadoop, sunucularda boyut olarak gigabayttan petabaytlara kadar değişen büyük veri kümelerini verimli bir şekilde depolamak ve işlemek için kullanılan açık kaynaklı bir işleme çerçevesidir. Apache Hadoop, verileri depolamak ve işlemek için tek bir büyük bilgisayara ihtiyaç duymak yerine, büyük veri kümelerini daha hızlı analiz etmek için paralel olarak bilgisayar kümelenmesini sağlar.
Hadoop sistemleri, kullanıcıların verileri toplama, işleme ve analiz etme konularında ilişkili veritabanları ve veri depolarından daha fazla esneklik sağlayarak, çeşitli yapılandırılmış ve yapılandırılmamış veri biçimlerini işlemesine olanak sağlar.
Hadoop’un farklı veri türlerini işleme ve saklama yeteneği, verileri büyük veri ortamlarına özellikle uygun hale getirir. Genellikle büyük miktarda veri değil, aynı zamanda internet tıklama akışı kayıtları, web sunucusu ve mobil uygulama günlükleri, sosyal medya gönderileri, müşteri e-postaları ve internetten gelen sensör verileri gibi yapılandırılmış işlem verilerinin ve yarı yapılandırılmış ve yapılandırılmamış bilgilerin bir karışımını içerir.
Apache Hadoop Nasıl Geliştirildi?
Apache Yazılım Vakfı (ASF) içindeki açık kaynaklı bir projenin parçası olarak geliştirilmiştir. Hadoop olarak ismi geçse de bu teknolojinin resmi adı Apache Hadoop. Hadoop’un ticari dağıtımları şu anda dört ana tedarikçi tarafından sunulmakta, bunlar: Cloudera, Amazon Web Services (AWS), Hortonworks ve MapR Technologies.
Aşırı kalabalık bir pazarda Bulut teknolojisinin büyük veri sistemlerinin daha fazla konuşlandırılmasının neden olduğu rekabetçi baskılar nedeniyle azaldı. Kullanıcılar bulut teknolojisinin yaygınlaşması ve gelişmesiyle birlikte az maliyetli olduğu için Hadoop teknolojisinden vazgeçip, buluta yöneldi. Sonuç olarak Hadoop’un, veri mimarisindeki rolü azalmaktadır. Microsoft ve Google ise Hadoop ile ilgili teknolojilerin üzerine inşa edilmiş bulut tabanlı hizmetlerin dağıtıcısıdır.
Apache Hadoop Dört Ana Modelden Oluşur
- YARN – Küme düğümlerini, kaynak kullanımını yönetir ve izler. İşleri ve görevleri zamanlamada rol alır.
- Hadoop Common; Tüm modüllerde kullanılabilen ortak Java kitaplığı sağlar.
- Hadoop Dağıtılmış Dosya Sistemi (HDFS); Standart veya alt uç donanımda çalışan dağıtılmış dosya sistemi. Yüksek hata toleransı ve büyük veri kümelerinin yerel desteğine ek olarak geleneksel dosya sistemlerinden daha iyi veri akışı sağlar.
- MapReduce; Programların veriler üzerinde paralel hesaplamalar yapmasına yardımcı olan bir çerçevedir. Java tabanlı dağıtılmış bilgi işlem için bir işleme tekniği ve program modelidir. MapReduce algoritması iki önemli görev içerir: Harita (Map) ve Azaltma (Reduce). Harita bir veri kümesi alır ve tek tek öğelerin gruplara (anahtar / değer çiftleri) ayrıldığı başka bir veri kümesine dönüştürür. İkincisi, çıktıyı bir haritadan girdi olarak alan ve bu veri gruplarını daha küçük bir grup kümesine birleştiren görevi azaltın. MapReduce adının sırası da belirtildiği gibi, azaltma görevi her zaman harita işinden sonra gerçekleştirilir.
Hadoop Nasıl Çalışır?
Hadoop, küme sunucularındaki tüm depolama ve işleme kapasitesini kullanmayı ve dağıtılmış işlemleri büyük miktarda veriye karşı yürütmeyi kolaylaştırır. Hadoop, diğer hizmetlerin ve uygulamaların üzerine inşa edilebileceği yapı taşlarını sağlar.
Çeşitli biçimlerde veri toplayan uygulamalar, NameNode’a bağlanmak için bir API işlemi kullanarak Hadoop kümesine veri yerleştirebilir. NameNode, her bir dosya için dosya dizini yapısını ve “parçalar” ın yerleşimini izler ve DataNodes genelinde çoğaltılır. Verileri sorgulamak için bir iş çalıştırmak için, birçok haritadan oluşan bir MapReduce işi sağlayın ve DataNodes’a dağıtılan HDFS’deki verilere karşı çalışan görevleri azaltın. Harita görevleri her düğümde sağlanan girdi dosyalarına karşı çalışır ve redüktörler son çıktıyı toplamak ve düzenlemek için çalışır.
Hadoop ekosistemi, genişletilebilirliği nedeniyle yıllar içinde önemli ölçüde büyümüştür. Bugün, Hadoop ekosistemi büyük verilerin toplanmasına, depolanmasına, işlenmesine, analiz edilmesine ve yönetilmesine yardımcı olacak birçok araç ve uygulama içermektedir. En popüler uygulamalardan bazıları: