hdfs使用手册balancer(数据平衡)命令详解

2019/1/21 星期一


2.3.1. balancer
运行一个集群平衡工具。管理员可以通过按Ctrl+C键停止再平衡过程。
数据平衡的需求
HDFS数据不平衡的原因
1.某个DataNode机器内硬盘存储达到饱和值。
2.集群内新增、删除节点。
数据不平衡的影响
1.Map任务可能会被分配给没有存储数据的机器,结果是不能实现本地计算,最终会导致网络
带宽的消耗。
2.当一些数据节点数据完全满载时,新的数据块只会被存放在有空余数据的节点机器上,造成了并行读取的可能性。
数据平衡过程的要求
1.数据平衡不会导致数据块减少、数据块备份丢失。
2.管理员可以中止数据平衡进程。
3.每次数据块移动的大小应该是可控的,这样可以放置阻塞网络。
4.namenode不会因为数据平衡服务而导致过于繁忙。
数据自动平衡原理
由于使用了平衡算法,导致数据平衡是一个迭代的、周而复始的过程。每一次迭代的最终目的
是让高负载的机器能够降低数据负载,所以数据平衡会最大程度上地使用网络带宽。

数据平衡流程交互图
hdfs使用手册balancer(数据平衡)命令详解

步骤分析如下:

1、数据均衡服务(Rebalancing Server)首先要求 NameNode 生成 DataNode 数据分布分析报告,获取每个DataNode磁盘使用情况
2、Rebalancing Server汇总需要移动的数据分布情况,计算具体数据块迁移路线图。数据块迁移路线图,确保网络内最短路径
3、开始数据块迁移任务,Proxy Source Data Node复制一块需要移动数据块
4、将复制的数据块复制到目标DataNode上
5、删除原始数据块
6、目标DataNode向Proxy Source Data Node确认该数据块迁移完成
7、Proxy Source Data Node向Rebalancing Server确认本次数据块迁移完成。然后继续执行这个过程,直至集群达到数据均衡标准

实际操作
1.切换到hdfs用户

[root@hadoop-master ~]# su - hdfs
2.查看当前的数据分布情况
[hdfs@hadoop-master ~]$ hdfs dfsadmin -report > /tmp/bq
[hdfs@hadoop-master ~]$ cat /tmp/bq 
Configured Capacity: 273287419086 (254.52 GB)
Present Capacity: 209643254756 (195.25 GB)
DFS Remaining: 199579415524 (185.87 GB)
DFS Used: 10063839232 (9.37 GB)
DFS Used%: 4.80%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

配置容量:27328
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值