Under prelicated block là vấn đề thường thấy đối với các file khác nhau trong HDFS. Nó sảy ra khi số replicator của 1 block nhỏ hơn giá trị mà ta đã đặt trong file cấu hình hdfs-site.xml với tham số dfs.replication.
Thông thường, Hdfs sẽ tự động replicate cho những block này nhưng nếu muốn fix vấn đề này thủ công, ta thực hiện các bước sau:

1. Tạo 1 file chứa danh sách các file có under replicated blocks
#su - <hdfs-user>
$hdfs fsck / | grep 'Under replicated' | awk -F':' '{print $1}' >> /tmp/under_replicated_files 
2. Tạo các replicate block bằng câu lệnh hadoop fs -setrep:

$for hdfsfile in `cat /tmp/under_replicated_files`; do echo "Fixing $hdfsfile :"; hadoop fs -setrep <number_of_replicate> $hdfsfile; done

number_of_replicate: bằng giá trị set trong tham số dfs.replication trong file hdfs-site.xm

Chúc các bạn thành công!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *