HDFS生产环境作rebalacne的坑

  1. 新上硬盘或者下架硬盘  hdfs 须要从新作rebalance  从新平衡数据,可是你会发现特别慢,缘由是数据同步的速度默认仅仅为10Mbps 
    node

image.png

image.png



dfs.datanode.balance.bandwidthPerSec (dfs.balance.bandwidthPerSec)服务器

  每一个 DataNode 可用于平衡的最大带宽。单位为字节/秒。以每秒字节数的形式指定每一个数据节点可用于平衡目的的最大带宽量。您可使用如下后缀(不区分大小写):k(kilo)、m(mega)、g(giga)、t(tera)、p(peta)、e(exa)指定大小(例如128k、512m、1g等)。或者以字节为单位提供完整的大小(例如,对于128 MB,134217728)。默认是10M,咱们知道服务器如今都是万兆网卡了,交换机对应端口也是10G网口的话,也就是说咱们最大能够设置1.25G带宽。可是咱们得考虑其余服务的传输效率,不能把全部的带宽都被DataNode 平衡数据所占用啦!推荐设置为128M~512M。网络

  HDFS平衡器检测集群中使用过分或者使用不足的DataNode,并在这些DataNode之间移动数据块来保证负载均衡。若是不对平衡操做进行带宽限制,那么它会很快就会抢占全部的网络资源,不会为Mapreduce做业或者数据输入预留资源。参数dfs.balance.bandwidthPerSec定义了每一个DataNode平衡操做所容许的最大使用带宽,这个值的单位是byte,这是很不直观的,由于网络带宽通常都是用bit来描述的。所以,在设置的时候,要先计算好。DataNode使用这个参数来控制网络带宽的使用,但不幸的是,这个参数在守护进程启动的时候就读入,致使管理员没办法在平衡运行时来修改这个值。负载均衡