赞
踩
由于HDFS内部机制的作用,数据在集群中的分布有时是不均匀的,这是可以用” start-balancer.sh” 命令(可以在后面加参数)来平衡数据的存储,但该命令只能平衡集群主机间的数据块,如果在同一台主机新挂载一个数据盘,想在主机内平衡数据,则需要手动的mv,首先要停止该数据节点的进程,再将数据块先重命名,再mv到新的数据目录下。然后再启动节点:
>hadoop-daemon.sh stop tasktracker
>hadoop-daemon.sh stop datanode
>cd /XX/current
>mv subdir60 subdir600
>mv subdir600 /YY/current/.
>hadoop-daemon.sh start datanode
>hadoop-daemon.sh start tasktracker
这样就完成了数据的移动,重新启动datanode时,datanode会自动向namenode汇报自己的数据目录下有哪些block,移动的block会被namenode重新加载,而不会出现找不到移动后的block情况。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。