Dağıtılmış bilgi işlem ve büyük veri pazarı,
Sıradan işlerde neden dağıtılmış bilgi işleme ihtiyacımız var? Her şey aynı anda hem basit hem de karmaşık. Basit - çünkü çoğu durumda bilgi birimi başına nispeten basit hesaplamalar yaparız. Zor - çünkü bu tür pek çok bilgi var. Çok fazla. Sonuç olarak, kişi
Yakın tarihli bir örnek: Dodo Pizza
Başka bir örnek:
Araç seçimi
Bu tür bilgi işlem için endüstri standardı Hadoop'tur. Neden? Çünkü Hadoop, bir dizi yardımcı program ve kitaplığın eşlik ettiği mükemmel, iyi belgelenmiş bir çerçevedir (aynı Habr, bu konuda birçok ayrıntılı makale verir). Hem yapılandırılmış hem de yapılandırılmamış çok büyük veri kümelerini girdi olarak gönderebilirsiniz ve sistemin kendisi bunları bilgi işlem gücü arasında dağıtır. Ayrıca, aynı kapasiteler herhangi bir zamanda artırılabilir veya devre dışı bırakılabilir - aynı yatay ölçeklenebilirlik iş başında.
2017 yılında, etkili danışmanlık şirketi Gartner
Hadoop, en önemlileri MapReduce teknolojileri (sunucular arasında hesaplamalar için veri dağıtma sistemi) ve HDFS dosya sistemi olmak üzere çeşitli sütunlara dayanmaktadır. İkincisi, küme düğümleri arasında dağıtılan bilgileri depolamak için özel olarak tasarlanmıştır: sabit boyuttaki her blok birkaç düğüme yerleştirilebilir ve çoğaltma sayesinde sistem, tek tek düğümlerin arızalarına karşı dirençlidir. Dosya tablosu yerine NameNode adı verilen özel bir sunucu kullanılır.
Aşağıdaki resim MapReduce'un nasıl çalıştığını göstermektedir. Birinci aşamada veriler belirli bir özniteliğe göre bölünür, ikinci aşamada bilgi işlem gücüne göre dağıtılır, üçüncü aşamada ise hesaplama yapılır.
MapReduce aslen Google tarafından arama ihtiyaçları için oluşturulmuştur. Ardından MapReduce ücretsiz koda geçti ve Apache projeyi devraldı. Peki, Google yavaş yavaş diğer çözümlere geçti. İlginç bir nüans: Şu anda Google'ın, hızlı bir şekilde yerine geçecek olan Hadoop'tan sonraki adım olarak konumlanan Google Cloud Dataflow adlı bir projesi var.
Daha yakından bakıldığında, Google Cloud Dataflow'un Apache Beam'in bir varyasyonunu temel aldığını, Apache Beam'in ise neredeyse aynı hızda çözüm yürütme hakkında konuşmamızı sağlayan iyi belgelenmiş Apache Spark çerçevesini içerdiğini görebiliriz. Apache Spark, onu Hadoop sunucularına dağıtmanıza izin veren HDFS dosya sisteminde iyi çalışır.
Buraya, Google Cloud Dataflow'a karşı Hadoop ve Spark için dokümantasyon hacmini ve hazır çözümleri ekleyin ve araç seçimi netleşir. Ayrıca mühendisler göreve, deneyime ve niteliklere odaklanarak Hadoop veya Spark altında hangi kodu uygulayacaklarına kendileri karar verebilirler.
Bulut veya yerel sunucu
Buluta genel geçişe yönelik eğilim, hizmet olarak Hadoop gibi ilginç bir terimin ortaya çıkmasına bile yol açtı. Böyle bir senaryoda, bağlı sunucuların yönetimi çok önemli hale geldi. Çünkü, ne yazık ki, popülaritesine rağmen saf Hadoop, yapılandırması oldukça zor bir araçtır çünkü birçok şeyi elle yapmanız gerekir. Örneğin, sunucuları ayrı ayrı yapılandırabilir, performanslarını izleyebilir ve birçok parametrede ince ayar yapabilirsiniz. Genel olarak, bir amatör için çalışın ve bir yerde hata yapma veya bir şeyi kaçırma şansı yüksektir.
Bu nedenle, başlangıçta uygun dağıtım ve yönetim araçlarıyla donatılmış çeşitli dağıtımlar çok popüler hale geldi. Spark'ı destekleyen ve işleri kolaylaştıran en popüler dağıtımlardan biri Cloudera'dır. Hem ücretli hem de ücretsiz sürümleri vardır - ve ikincisinde, tüm ana işlevler kullanılabilir ve düğüm sayısını sınırlamaz.
Kurulum sırasında Cloudera Manager, SSH aracılığıyla sunucularınıza bağlanacaktır. İlginç bir nokta: kurulum sırasında, sözde tarafından gerçekleştirileceğini belirtmek daha iyidir. parseller: her biri birbiriyle çalışacak şekilde yapılandırılmış gerekli tüm bileşenleri içeren özel paketler. Aslında bu, paket yöneticisinin çok geliştirilmiş bir versiyonudur.
Kurulumdan sonra, kümeler için telemetriyi, kurulu hizmetleri görebileceğiniz, ayrıca kaynakları ekleyebileceğiniz / kaldırabileceğiniz ve küme yapılandırmasını düzenleyebileceğiniz bir küme yönetim konsolu alıyoruz.
Sonuç olarak, sizi BigData'nın parlak geleceğine götürecek olan o roketin kesilmesi önünüzde belirir. Ama "hadi gidelim" demeden önce, kaputun altına hızlıca ilerleyelim.
Donanım Gereksinimleri
Cloudera, web sitelerinde farklı olası yapılandırmalardan bahseder. Yapıldıkları genel ilkeler şekilde gösterilmiştir:
MapReduce bu iyimser tabloyu bulanıklaştırabilir. Önceki bölümdeki şemaya tekrar bakıldığında, neredeyse tüm durumlarda, bir MapReduce işinin diskten veya ağdan veri okurken bir darboğaza çarpabileceği açıkça görülüyor. Bu, Cloudera blogunda da belirtilmiştir. Sonuç olarak, genellikle gerçek zamanlı hesaplamalar için kullanılan Spark dahil hızlı hesaplamalar için G / Ç hızı çok önemlidir. Bu nedenle, Hadoop kullanırken, en hafif deyimiyle bulut altyapısında her zaman sağlanmayan dengeli ve hızlı makinelerin kümeye girmesi çok önemlidir.
Güçlü çok çekirdekli CPU'lara sahip sunucularda Openstack sanallaştırma kullanılarak yük dağılımında denge sağlanır. Veri düğümlerine kendi işlemci kaynakları ve belirli diskler tahsis edilir. bizim kararımızda Atos Codex Veri Gölü Motoru geniş sanallaştırma elde edilir, bu nedenle hem performans (ağ altyapısının etkisi en aza indirilir) hem de TCO (ekstra fiziksel sunucular ortadan kaldırılır) açısından kazanırız.
BullSequana S200 sunucularının kullanılması durumunda, bazı darboğazlardan yoksun, çok düzgün bir yük elde ediyoruz. Minimum yapılandırma, her biri iki JBOD'ye sahip 3 BullSequana S200 sunucusunu ve ayrıca isteğe bağlı olarak bağlanan dört veri düğümü içeren ek S200'leri içerir. İşte bir TeraGen testindeki yük örneği:
Farklı veri hacimleri ve replikasyon değerleri ile yapılan testler, küme düğümleri genelinde yük dağılımı açısından aynı sonuçları göstermektedir. Aşağıda, disk erişiminin performans testlerine göre dağılımının bir grafiği bulunmaktadır.
Hesaplamalar, minimum 3 BullSequana S200 sunucusu yapılandırmasına dayanmaktadır. 9 veri düğümü ve 3 ana düğümün yanı sıra OpenStack Sanallaştırmaya dayalı koruma dağıtımı durumunda ayrılmış sanal makineler içerir. TeraSort test sonucu: 512 MB blok boyutu şifreleme ile üç çoğaltma faktörü 23,1 dakikadır.
Sistem nasıl genişletilebilir? Data Lake Engine için çeşitli uzantı türleri mevcuttur:
- Veri düğümleri: her 40 TB kullanılabilir alan için
- GPU yükleme yeteneğine sahip analitik düğümler
- İş gereksinimlerine bağlı olarak diğer seçenekler (örneğin, Kafka ve benzerlerine ihtiyacınız varsa)
Atos Codex Data Lake Engine kompleksi, hem sunucuların kendisini hem de lisanslı Cloudera kiti dahil önceden yüklenmiş yazılımları içerir; Hadoop'un kendisi, RedHat Enterprise Linux çekirdeğine dayalı sanal makinelerle OpenStack, veri kopyalama ve yedekleme sistemleri (bir yedekleme düğümü ve Cloudera BDR - Yedekleme ve Felaket Kurtarma dahil). Atos Codex Data Lake Engine, sertifika alan ilk sanallaştırma çözümüdür
Detaylarla ilgileniyorsanız, yorumlarda sorularımızı yanıtlamaktan mutluluk duyarız.
Kaynak: habr.com