Hadoop, tek başına büyük veriyle uğraşanların ihtiyaçlarını karşılamıyor. Bu sebepten dolayı Yarn, Hive, Spark, Pig, ZooKeeper, Mahout ve Ambari gibi yardımcı sistemler ile desteklemeniz gerekiyor.

Hadoop ekosistemi nelerden oluşuyor?

Hadoop ekosistemi, makine öğrenmesi, koordinasyon, SQL sorgusu yapabilme imkanı sağlayan yardımcılardan oluşmaktadır. Hadoop Nedir?{.rank-math-link} başlıklı makalemizi inceleyerek sistemin temel çalışma mantığını kavrayabilirsiniz.

Yarn

Haddop ekosistemi yarn, zookeper, hive, gibi sistemlerden oluşmaktadır </figure>

  • MapReduce gibi dağıtık uygulamaların RAM, CPU gibi donanımlardaki kaynak yönetimini sağlıyor.
  • İşlemler NodeManager aracılığıyla ResourceManager üzerinden yürütülmektedir.
  • ResourceManager iki ana bileşenden oluşmaktadır. Zamanlayıcı ve ApplicationsManager.
  • Zamanlayıcı, cluster’ları kuyrukta bulunan uygulamalara böler. Herhangi bir hata durumunda uygulamaların yeniden başlatılmasında rol almaz.
  • ApplicationsManager, yürütülen uygulamalardaki ApplicationMaster‘ı kontrol etmekten ve herhangi bir hata durumunda yeniden başlatmaktan sorumludur.

Hive

  • Büyük veri sistemlerinin sorgu işlemlerini yapmak için kullanılan uygulamadır.
  • Sorgu dili HiveQL’dir.
  • HiveQL, SQL benzeri bir yapıya sahiptir.
  • Sorgular MapReduce işlemlerine dönüşür.
  • Anlık işlemler için kullanılamaz.

Spark

  • Hadoop gibi kendi ekosistemi mevcuttur.
  • Gerçek zamanlı sonuçlar alabilmenizi sağlar.
  • İşlemler RAM üzerinden gerçekleştiği için Hadoop sistemine göre kat kat hızlıdır.
  • Python, R, Java ve Scala dilleri için API desteği mevcuttur.

Mahout

  • Makine öğrenmesi algoritmaları kurabilmek için oluşturulmuş bir sistemdir.
  • Büyük verilerden anlamlı bilgiler elde etmek için kullanılır.
  • Öneri(Recommendation), Sınıflandırma(Classification), Kümeleme(Clustering) tekniklerini kullanır.

Pig

  • Pig Latin dilinde yazılan kodları MapReduce işlemlerine çevirmeye yarayan bir sistemdir.
  • Pig Latin dili, veri işleme konusunda Java’dan daha kullanışlı ve kolay bir dildir.
  • Ayrıştırma(Parse), Derleme(Compile), İyileştirme(Optimize) ve Planlama(Plan) olmak üzere 4 aşamadan oluşmaktadır.
  • İçerdiği optimizasyon algoritması sayesinde oluşturduğunuz MapReduce işlemlerinin daha hızlı sonuç vermesini sağlar.
  • Veri üzerinde analiz imkanı sağlar. (Filtreleme, gruplama gibi.)
  • Python, Java gibi diller için kütüphane oluşturup Pig içerisinde kullanabilirsiniz.

ZooKeeper

  • Dağıtık sistemlerin koordinasyonunu sağlar. İçerisinde birçok servis mevcuttur.
  • Kullanılan veritabanını satır satır kilitleme ve nesneleri kullanıma kapatma gibi özellikleri vardır.
  • Sistem konfigürasyonunu hızlı bir şekilde yapıp daha stabil işlemler gerçekleştirmeyi sağlar.
  • Kullanılan sunucu sayısına göre işlem yapmaktadır. Kurulu olan sunucuların yarısından fazlası aktif olmak zorundadır. Örneğin, 5 sunuculu bir sisteme sahipseniz en az 3 adet sunucunuzun aktif olması gerekir. Aksi takdirde ZooKeeper çalışmayı durdurur.

Ambari

  • Sistem yöneticilerinin daha kolay işlemler yapabilmesi için web arayüzü sunar.
  • Hadoop Kümesi oluşturma, yönetme ve izleme işlemleri yapılabilir.
  • Hadoop hizmetlerini yükleme ve ayarlarını yapma imkanı sunar.
  • Ambari Alert Framework sayesinde cluster, node gibi yapılarda herhangi bir sorun çıktığında uyarır.
  • Hadoop hizmetlerini başlatma, durdurma, duraklatma ve yeniden başlatma işlemlerini yapabilmenizi sağlar.

Kafka

  • Verilere anlık olarak erişim sağlar.
  • Verileri belli kategorilere ayırmamızı sağlar. (Topic)
  • Topic içerisinde yer alan veriler belli parçalara ayrılır. Bu parçalara özel ID atanır. (Partition)
  • Kafka cluster içerisindeki node’lara broker denir.