Anasayfa / Hortonworks HDPCA Sertifikasyonu / Hortonworks HDPCA: Define and Deploy A Rack Topology Script

Hortonworks HDPCA: Define and Deploy A Rack Topology Script

Merhaba, Hortonworks HDPCA Sertifikasyon Sınavı Hazırlık yazı dizisi kapsamında bu yazımızda RACK awareness konfigürasyonu yapacağız.

Rack Awareness Nedir?

Hadoop Cluster kurum veya şirketin ihtiyacına göre bazen bir kabine (rack) sığmayabilir. Bu sebple birden fazla kabin kullanmak zorunlu hale gelebilir ki belli bir ölçeğin üzerindeki şirketler onalrca, yüzlerce kabin kullanıyorlar. Hadoop dağıtık hesaplama (distributed computing) yaptığı için doğal olarak veri merkezi içindeki bilgisayar ağını çok fazla kullanır. Genelde kabin içi ağ bağlantısı, kabin dışına göre daha performanslıdır.  Hadoop hangi sunucunun hangi kabinde olduğunu bildiğinde hem replikasyonu ona göre ayarlamaya çalışır ki; bir kabin tamamen arızalandığında verinin bir kopyası arızalı kabin dışında olsun. Ayrıca veri işlenirken kabin dağılımı dikkate alınsın. Çünkü kabin içi veri işleme kabinler arası veri işlemeye göre daha performanslıdır.

Aşağıdaki şekilde kendi kişisel bilgisayarımda bulunan Hadoop clusterın hayali olarak iki kabine dağılmış hali görülmektedir. Bu dağılıma göre topology scriptini güncelleyeceğim.

Aslında Hadoop’a hangi sunucunun hangi kabinde olduğunu söyleyeceğiz. Ambari üzerinden yaptığımız ayarlama rack-topology.sh veya topology_script.py ile rack_topology.data vaya topology_mappings.data  dosyalarını güncelleyecek. Neden iki farklı isim yazdık? Hadoop son sürümlerde sh script yerine Python script kullanmaya başladı ve dosya ismlendirmesini değiştirdi. Bu sebeple buraya da iki dosya ismini de yazdık, /etc/hadoop/conf/ dizininde rack ile başlayanlar yoksa topology ile başlayanlar üzerinde değişiklik yapılacaktır. Burada değişikliği biz yapmayacağız bunu Ambari arayaüzü kullanarak gerçekleştireceğiz. Zaten kendi elinizle yapsanızda Ambari HDFS ve MapReduce2’yi tekrar başlattığında sizin yazdıklarınızı değiştirecektir. Ayrıca ben yukarıdaki şekilde kabine MasterNode’ların da yerleşimini gösterdim. RackAwareness kavramı verinin saklanması ve daha etkin işlenmesi ile ile ilgili olduğundan topology_mappings.data dosyasında sadece DataNode’lar değiştirilir ve listelenir.

Ambari ile DataNode’ların rack yarleşimi:

Bu yöntemde Ambari arayüzü kullanılarak nodelar yukarıda şekilde belirtildiği gibi kabinlere yerleştirilecektir. Yerleştirmekten kastımız fiziksel değil elbette. Mantıksal bir yerleştirme. Ancak canlı sistemlerde bunun fiziksel yerleşimi ile mantıksal yerleşimi tutarlı olmalıdır. Aşağıda hostları görüyoruz. Kırımzı dörgen içinde hepsinin default-rack içinde olduğu görülüyor.

 

Rack-1’e yerleştireceğimiz sunuculara (node1,node4,node6) ait kutucukları işaretliyoruz. Actions’dan aşağıda görüldüğü şekilde Set Rack diyoruz.

 

/rack-1 olarak belirliyoruz (Siz başka bir isim verebilirsiniz)

 

Aynı işlemi kalan sunucular için yapıp /rack-2 ismini veriyoruz. Yalnız bu işlemi yaparken rack-1’e yerleştirdiğimiz sunucuların kutucukları üzerindeki işaretleri kaldırmayı unutmayın. Aşağıdaki resimde sunucularımızı belirlediğimiz kabin planlamasına göre yerleştirmiş olduk. Sınavda muhtemelen sizlere şu sunucuları şu kabine bu sunucuları şu kabine yerleştirin gibi bir görev verilecektir.

İşlem bittikten sonra Ambari HDFS ve MapReduce2’yi yeniden başlatmamızı isteyecektir. Sunucuların rack yerleşimi aşağıdadır.

Hepsi bu kadar. Artk sistemimiz rackawareness oldu.

İlave Bilgiler:

Mevcut rack-topology.sh/topology_script.py ve  rack_topology.data/topology_mappings.data dosyalarımızı görelim. Ben şuan HDP 2.6.2 sürümü kullandığım için bende topology_script.py ve topology_mappings.data dosyaları mevcut. İki dosya da her sunucuda /etc/hadoop/conf/ dizini altında bulunmaktadır. Bu dosyalar her sunucuda aynı dizinde ve aynı içerikte olmalıdır. Bu sebeple ben node3 sunucusunda dosyaları değiştirdikten sonra pssh ile tüm sunucularda aynı yerlerine kopyalayacağım. Eğer pssh yok ise her sunucuya tek tek kopyalamak gerekir. Öncelikle dosyaların mevcut içeriklerini bir görelim.

topology_script.py:

topology_mappings.data: cat ile dosya içeriğini görelim.


Hakkında Erkan ŞİRİN

GÖZ ATMAK İSTEYEBİLİRSİNİZ

Hortonworks HDPCA: Add an HDP service (Spark2) to a cluster using Ambari

Hortonworks HDPCA Sertifikasyon Sınavı Hazırlık yazı dizimizin bu yazısında clustera Spark2 ekleyeceğiz. Ambari anasayfasından Actions …

Bir cevap yazın

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