您的位置:首页 > 大数据 > Hadoop

HDFS 上传文件的不平衡,Balancer问题是过慢

2015-12-07 20:21 281 查看
至HDFS上传文件。假定从datanode开始上传文件,上传的数据将导致目前的当务之急是全datanode圆盘。这是一个分布式程序的执行是非常不利。

解决方案:

1、从其他非datanode节点上传

可以hadoop文件夹复制一份到一个不在集群中的节点(直接从非datanode的namenode上传也能够,可是这样不太好。会添加namenode的负担。而且时间长了会让namenode上放了各种乱七八糟的文件),在这个节点上不启动不论什么hadoop进程,可是能够当作client使用。

上传文件到集群。

也能够自己写一个上传文件的程序、在其它非集群节点上执行来上传文件。在程序中要注意自己设置必要的配置,比方namenode的url、副本数等等,由于假设不设置,会使用你程序中所带的hadoop jar包中的默认配置,而不是集群的默认配置。

2、使用balancer

能够通过

hdfs balancer -threshold XX


来进行平衡,xx是一个百分比。

关于这个命令的使用方法网上一搜一大堆。

可是默认情况下,这个平衡时非常慢的,由于默认的hadoop不同意balancer占用非常大的网络带宽。

能够通过

hdfs dfsadmin -setBalanacerBandwidth newbandwidth


设置带宽,在字节
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: