しろかい!

アプリ開発や機械学習などの開発Tips.

hadoop balancerが遅い時の対処法

hadoop balancerがなかなか終わらない時の対処法.

ズバリ原因は?

balancer実行時に利用できる帯域がデフォルトで1MB/sしかないため.
これを下記コマンドで大きくすることで改善する.

# 帯域を1GB/sに変更する
$ hadoop dfsadmin -setBalancerBandwidth 1073741824

ただし,この設定を行うとhadoopのメインであるMapReduceに利用する帯域を圧迫する恐れがあるので,balancerが終了するまでjobは投げない方がいいかもしれない.

参考
Hadoopのバランサー実行中にdfs.datanode.balance.bandwidthPerSecを変える - wyukawa's diary