Hadoop HDFS Under Replicated Blocks Problemi

Merhaba,

Büyük veri ortamlarıyla ilgiliyseniz karşılaşacağınız olası problemlerden bir tanesi de Hadoop Distributed File System (HDFS) üzerindeki oluşan “Under Replicated Blocks” problemidir.

Öncelikle konuya bunun ne anlama geldiğiyle ilgili bir iki cümleyle başlayalım.

Kısaca söylemek gerekirse, sistem replikasını alacağı dosyaları bekletmektedir. Bekletmesinin nedeni de hedef replica dosyalarının işaretlenmemiş olmasından kaynaklanmaktadır.

Bu problemi çözmek için linux terminal’e erişim sağlayıp aşağıdaki komutları vermek gerekir.

PuTTY kullanarak master node’un olduğu terminale bağlanıyoruz.
HDFS servisinin bağlı olduğu hdfs kullanıcısıyla login oluyoruz.
Ardından sıkıntılı dosyaları tespit etmek için aşağdaki kodu çalıştırıyoruz.
hdfs fsck / | grep ‘Under replicated’ | awk -F’:’ ‘{print $1}’ >> /tmp/under_replicated_files
Eğer işlemi tek tek yaptıracaksnız aşağıdaki komutu çalıştırıyoruz.
for hdfsfile in `cat /tmp/under_replicated_files`; do echo “Fixing $hdfsfile :” ; hadoop fs -setrep 3 $hdfsfile; done
Tek tek işlem yapmak yerine bir kerede 1000 dosyaya aynı işlemi uygulayabiliriz.
xargs -n 1000 hadoop fs -setrep 3 < /tmp/under_replicated_files
İşlem sürüyor…
Günün sonunda Under Replicated Blocks 0 olarak düzelecektir.

Kolay gelsin 🙂

Bir Cevap Yazın