Hadoop ve Temel Bileşenleri nedir?

Posted on Posted in Hadoop

  Hadoop nedir?

Büyük veri (hexabyte, petabyte seviyesinde akan veri)kümeleri ile birden fazla makinada paralel olarak işlem yapmamızı sağlayan Java ile geliştirilmiş açık kaynak kodlu bir kütüphane.Hadoop HDFS ve MapReduce  iki bölümü var.Hadoop(HDFS )dosyaları bloklara ayırıp saklar. Hadoop(MapReduce) saklanan verilerimizi işliyor.

 

Şekilde görüldüğü gibi makinaların birbirine paralel bağlanmasına cluster  denir.Cluster da saklama işlemleri çoklanarak kayıt edilir.( Replication Factor).Şekli açıklayalım;5 makina var biri master modunda diğerleri slave ,amaç aynı işi 5 kat daha hızlı yapmak.Yapacağınız işin senaryosuna göre makina sayısı azaltılabilir ya da arttırılabilir .Bir bakıma thread mantığına kısmi benziyor diyebiliriz.

Şekilde bir dosyamız var ve 5 bloğa ayrılmış ve 5 makinamız var(Node1 gibi).Şöyle baktığımız da D bloğu 1.makina , 2.makina ve 4.makina da var.Bir cluster da 3 farklı makina da bulunduğu için replication factor:3 diyebiliriz yani 3 defa kopyalanmış.Bu durumun avantajına bakacak olursak elektrik gittiğinde ,sistem çöktüğünde ya da makinalardan biri kullanılamaz hale geldiğinde sonuç itibari bütün kötü olasılıkları düşünürsek  :)) ,B verisi yok olmuyor çünkü 3.ve 5. makinada da kopyalanmış.

Hadoop 4 bölümden oluşur .

HDFS(Hadoop Distirbuted File System):Hadoop içerisinde büyük verileri sakladığımız bileşene denir.Sıradan sunucuların diskleri biraraya gelerek tek bir sanal disk oluşturarak oluştururlar.

Hadoop common: Bazı modüllerin  hadoop’a erişebilmesi için gerekli olan kütüphane.ApachePig ,ApacheHive  ‘den HDFS veri okuyup veri yazmak istediğimizde ApacheHive ‘den HDFS geçmek için arka tarafda hadoop common kullanılıyor.

Hadoop Yarn:Genel olarak MapReduce  gibi dağıtık uygulamalarımız için kaynak yönetimini sağlar.(ram,cpu) Amaç kimin ne kadar kullanacağına karar vermek,bu yüzden arka planda müdahale etmemiz gereken bir durum yok.

MapReduce:Hadoop içerisinde büyük verileri paralel olarak işleyebileceğimiz bileşen.

 

 

Kelime sayma analiz uygulamasıyla temel seviye de MapReduce işlemini incelersek;

Dosyamız json,txt den herhangi biri olabilir içeriğinde bu kelimeler geçiyor.

Splittting:Öncelikle  bloklara ayırıyor(1.blok gibi)

Mapping:Key ve Value olarak ikiye ayrılıp  Key:kelimeler, Value:kelime sayacı ,kelime değerleri olarak düşünebiliriz.Örneğin ilk blok için Deer 1 gibi.

Shuffling:Ayrılan veriler belirli gruplara göre toplanıyor.Beer,Car,Deer,River  keyleri kendi içinde gruplara ayrılıyor.

Reducing:Aynı Key ‘e ait value (değerler) toplanır.(Bear 2) Sonuç olarak hangi makinada hangi key ne kadar geçmiş analiz sonucu oluyor.

Çok yüksek trafikte  akan veriniz varsa günlük 100 milyondan fazla  ,akan veriyi Hadoop HDFS ile  verileri saklayıp Mapreduce analizler yapabilirsiniz  ya da NoSQL veritabanlarından birini kullanıp Spark ‘ la verileri işleyebilirsiniz.Herşey yapacağınız işin senaryosunu kurmanıza bağlı.

 

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir