İçindekiler:
Video: Hadoop Rack Awareness 2024
Bir Hadoop kümesinde, her veri düğümü (ayrıca bağımlı düğüm olarak bilinir) bir DataNode adlı arka plan işlemi. Bu arka plan işlemi (ayrıca daemon olarak bilinir), sistemin bilgisayarında saklamış olduğu dil bölümlerini tutar. Yerel olarak depolanan verilerin durumu ve durumu hakkında rapor vermek için düzenli olarak HDFS ana sunucusu (NameNode olarak bilinir) ile konuşur.
Veri blokları yerel dosya sisteminde ham dosyalar olarak saklanır. Bir Hadoop kullanıcısının bakış açısı ile, işlemek zorunda olduğunuz dosyanın hangi köle düğümlerinden hangisine sahip olduğunu bilmiyorsunuz. Hadoop içinden veri bloklarını ya da kümede nasıl dağıtıldığını göremiyorsunuz - gördüğünüz HDFS'deki dosyaların bir listesi.
Dosya bloklarının kümelenme boyunca nasıl dağıtıldığının karmaşıklığı sizden gizlidir - her şeyin ne kadar karmaşık olduğunu bilmiyorsunuz ve 'a ihtiyaç duymuyorsunuz biliyorum. Aslında köle düğümlerinin kendileri, depoladıkları veri bloklarının içerisindeki yerlerini bile bilmiyorlar. HDFS'de depolanan dosyaları hangi veri bloklarının oluşturduğu eşlemeleri bilen NameNode sunucusu.
Artıklık yüzünden yaşamak daha iyi
HDFS'nin bir temel tasarım ilkesi, emtia donanım bileşenlerini kullanarak bireysel bağımlı düğümlerin maliyetini en aza indirmenin konseptidir. Büyük ölçeklenebilir sistemler için bu fikir mantıklıdır, çünkü yüzlerce veya binlerce köle düğümüne ihtiyaç duyduğunuzda maliyetler hızla yükselmektedir. Tek bileşenlerin daha pahalı donanım kadar güvenilir olmadığı için daha düşük maliyetli bir donanım kullanmak da bir sonuç doğuruyor.
Depolama seçeneklerini seçerken, daha pahalı olan kurumsal kalitede sürücüler yerine emtia sürücülerini kullanmanın etkisini göz önünde bulundurun. Her düğümün HDFS depolama alanına ayrılmış 12 sabit disk sürücüsüne sahip olduğu 750 düğümlü bir kümeniz olduğunu varsayalım.
Emtia disk sürücüleri için yıllık başarısızlık oranı (AFR) yüzde 4'tür (belirli bir sabit disk sürücüsünün belirli bir yılda başarısız olma olasılığı yüzde 4'tür, diğer bir deyişle), kümeniz büyük olasılıkla sabit disk Yılın her günü başarısızlıkla sonuçlandı.
Çünkü çok köle düğüm olabilir, bunların başarısızlığı yüzlerce veya daha fazla düğümlü daha büyük kümelerde yaygın bir durumdur. Bu bilgiyi dikkate alarak HDFS, bağımlı düğüm düzeyinde bile tüm donanım bileşenlerinin güvenilmez olduğu varsayımıyla tasarlanmıştır.
HDFS, yedekleme yoluyla bireysel donanım bileşenlerinin güvenilmezliğini yener: HDFS'de saklanan ve sistemin tamamında dağıtılan her dosyanın bu üç kopyasının arkasındaki fikir budur.Daha özel olarak, HDFS'de saklanan her dosya bloğu toplam üç kopyaya sahiptir. İhtiyacınız olan belirli bir dosya bloğu ile bir sistem koparsa, diğer ikisine de dönebilirsiniz.
Köle nodu sunucusu tasarımını çizme
Toplam sahip olma maliyeti, depolama kapasitesi ve performans gibi önemli faktörleri dengelemek için bağımlı düğümlerin tasarımını dikkatlice planlamanız gerekir.
Genel olarak her bir düğümün tipik olarak 12 ila 16 yerel olarak bağlı 3 TB sabit disk sürücüsüne sahip olduğu köle düğümlerini görürsünüz. Slave düğümleri, her biri altı ila sekiz çekirdeğe sahip orta hızlı çift soketli CPU'lar kullanır; başka bir deyişle, hız iblisleri yoktur. Buna 48GB RAM dahi eşlik ediyor. Kısacası, bu sunucu yoğun depolama için optimize edilmiştir.
HDFS bir kullanıcı alanı düzeyinde dosya sistemi olduğundan, HDFS ile çalışmak için köle düğümlerinde yerel dosya sistemini optimize etmek önemlidir. Bu bağlamda, sunucularınızı kurarken yüksek etkili bir karar, bağımlı düğümlerde Linux kurulumu için bir dosya sistemi seçmektir.
Ext3 en çok kullanılan dosya sistemidir, çünkü yıllarca en kararlı seçenek olmuştur. Bununla birlikte, Ext4'e bir göz atın. Ext3'ün bir sonraki sürümü ve geniş çapta istikrarlı ve güvenilir olduğu düşünülmektedir.
Daha da önemlisi, bizim amaçlarımız için, büyük dosyaları işlemek için bir dizi iyileştirme vardır; bu da HDFS köle düğümü sunucuları için ideal bir seçimdir.
Linux Logical Volume Manager'ı (LVM) kullanmayın - Linux dosya sistemi ile HDFS arasında Hadoop'un performansını optimize etmesini engelleyen ek bir katmanı temsil eder. Özellikle LVM, dosyaların fiziksel sürücüler üzerinde nasıl dağıtıldığına bağlı olarak, HDFS ve YARN'ın yaptığı kaynak yönetimini engelleyen diskleri toplar.