Hadoop - Giriş
Hadoop, basit programlama modelleri kullanarak büyük veri kümelerinin bilgisayar kümeleri arasında dağıtılmış olarak işlenmesine olanak tanıyan, java ile yazılmış bir Apache açık kaynak çerçevesidir. Hadoop çerçeve uygulaması , bilgisayar kümeleri arasında dağıtılmış depolama ve hesaplama sağlayan bir ortamda çalışır . Hadoop, her biri yerel hesaplama ve depolama sunan tek sunucudan binlerce makineye ölçeklenecek şekilde tasarlanmıştır.
Hadoop Mimarisi
Hadoop'un özünde iki ana katman vardır:
- İşleme / Hesaplama katmanı (MapReduce) ve
- Depolama katmanı (Hadoop Dağıtılmış Dosya Sistemi).
Harita indirgeme
MapReduce, büyük miktarda verinin (çok terabaytlı veri kümeleri), ticari donanımın büyük kümelerinde (binlerce düğüm) güvenilir ve hataya dayanıklı bir şekilde verimli işlenmesi için Google'da tasarlanmış dağıtılmış uygulamaları yazmak için paralel bir programlama modelidir. MapReduce programı, Apache açık kaynaklı bir çerçeve olan Hadoop üzerinde çalışır.
Hadoop Dağıtılmış Dosya Sistemi
Hadoop Dağıtılmış Dosya Sistemi (HDFS), Google Dosya Sistemine (GFS) dayanır ve ticari donanım üzerinde çalışmak üzere tasarlanmış dağıtılmış bir dosya sistemi sağlar. Mevcut dağıtılmış dosya sistemleriyle birçok benzerliği vardır. Bununla birlikte, diğer dağıtılmış dosya sistemlerinden farklılıklar önemlidir. Son derece hataya dayanıklıdır ve düşük maliyetli donanımlara yerleştirilmek üzere tasarlanmıştır. Uygulama verilerine yüksek verimli erişim sağlar ve büyük veri kümelerine sahip uygulamalar için uygundur.
Yukarıda belirtilen iki temel bileşenin yanı sıra, Hadoop çerçevesi ayrıca aşağıdaki iki modülü içerir -
Hadoop Common - Bunlar, diğer Hadoop modülleri için gerekli olan Java kitaplıkları ve yardımcı programlarıdır.
Hadoop YARN - Bu, iş planlaması ve küme kaynak yönetimi için bir çerçevedir.
Hadoop Nasıl Çalışır?
Büyük ölçekli işlemlerin üstesinden gelen ağır yapılandırmalara sahip daha büyük sunucular oluşturmak oldukça pahalıdır, ancak alternatif olarak birçok ticari bilgisayarı tek CPU ile tek bir işlevsel dağıtılmış sistem olarak birbirine bağlayabilir ve pratik olarak kümelenmiş makineler veri setini okuyabilir. paralel olarak ve çok daha yüksek bir verim sağlar. Dahası, bir üst düzey sunucudan daha ucuzdur. Bu, Hadoop'u kümelenmiş ve düşük maliyetli makinelerde kullanmanın arkasındaki ilk motivasyon faktörüdür.
Hadoop, kodu bir bilgisayar kümesi üzerinde çalıştırır. Bu süreç, Hadoop'un gerçekleştirdiği aşağıdaki temel görevleri içerir -
Veriler başlangıçta dizinlere ve dosyalara bölünür. Dosyalar, 128M ve 64M'lik (tercihen 128M) tek tip boyutlu bloklara bölünmüştür.
Bu dosyalar daha sonra işlenmek üzere çeşitli küme düğümlerine dağıtılır.
Yerel dosya sisteminin tepesinde olan HDFS, işlemeyi denetler.
Donanım arızasını gidermek için bloklar çoğaltılır.
Kodun başarıyla yürütüldüğünün kontrol edilmesi.
Harita ve azaltma aşamaları arasında gerçekleşen sıralamayı gerçekleştirmek.
Sıralanan verileri belirli bir bilgisayara gönderme.
Her iş için hata ayıklama günlüklerinin yazılması.
Hadoop'un Avantajları
Hadoop çerçevesi, kullanıcının dağıtılmış sistemleri hızlı bir şekilde yazmasına ve test etmesine olanak tanır. Verimlidir ve verileri otomatik olarak dağıtır ve makineler arasında çalışır ve karşılığında CPU çekirdeklerinin temelindeki paralelliği kullanır.
Hadoop, hata toleransı ve yüksek kullanılabilirlik (FTHA) sağlamak için donanıma güvenmez, bunun yerine Hadoop kitaplığının kendisi uygulama katmanındaki hataları algılamak ve işlemek için tasarlanmıştır.
Sunucular dinamik olarak kümeye eklenebilir veya kümeden kaldırılabilir ve Hadoop kesintisiz olarak çalışmaya devam eder.
Hadoop'un bir diğer büyük avantajı da açık kaynak kodlu olmasının yanı sıra Java tabanlı olduğu için tüm platformlarda uyumlu olmasıdır.