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


    至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

    设置带宽,在字节

  • 相关阅读:
    数据库设计>相片管理设计思路小讨论
    ADO.NET数据库连接的几种方式
    ADO.NET两种事务处理方法
    ADO.NET调用存储过程
    [sql server] 得到连续日期查询(转)
    数据库设计基础>范式
    repeater控件的事件
    小偷程序的学习总结
    《道德经》程序员版第十章
    数据库设计基础>ER图(转)
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5027331.html
Copyright © 2020-2023  润新知