13 Ekim 2014 Pazartesi

Hadoop - Yedek Verilerini (Replica) Neye Göre Konumlandırılıyor?

Hadoop dosya sistemlerinden HDFS de bir veri oluşturulduğunda, bu verinin istenilen adette yedeği altyapı tarafından oluşturulmakta. Yedek sayısı varsayılan olarak 3 adet. Bu değiştirilebilen bir değer.
Peki HDFS üzerindeki verileri yedeklenirken, hangi verinin hangi sunucularda yedekleneceği neye göre belirleniyor.

Burada bir kaç faktör var. Bunlardan en önemlisi bant genişliği. Bant genişliği göz önünde bulundurulduğunda verinin tüm yedeklerini aynı düğümde tutmak yada aynı rack üzerinde tutmak bandwith bakımından kazanç sağlayacaktır. Ancak burada oluşacak bir arıza veri kaybına neden olacaktır. Bu nedenle bu yöntem tercih edilmemekte.

Hadoop verilerin yedeklerini dağıtırken: ilk yedeği istemcinin çalıştığı düğüm üzerinde tutumakta. Eğer istemci hadoop kümesi dışında çalışıyor ise, ilk düğümü çok dolu yada çok meşgul olamayan düğümler arasından rastgele seçmekte. İkinci yedek ise, birinci yedeğin bulunduğu rack haricinden  rack'ler içinden rastgele seçilerek yerleştirilir. Üçüncü yedek ise ikinci ile aynı rack üzerinde, ikinci yedeğin bulunduğu düğümden farklı rastgele bir düğüme yerleştirilir. Hadoop sisteminin ağ topolojisini nasıl öğrendiği  Hadoop - Ağ Topolojisi Tanımlama yazısında detaylandırılmıştır.

Hadoop 1.x den itibaren bu strateji kullanıcı tarafından değiştirilebilir şekildedir.

Hiç yorum yok:

Yorum Gönder