hdfs的一个运维小技巧

【前言】

对于hdfs而言,磁盘故障的处理或者节点的扩容是比较常见的运维操作。对于这种场景的运维操作是相对比较简单的,但关键在于如何快速的使数据在各个dn之间平衡,或者快速的使block数据达到指定的副本数,本文就来聊聊这个小技巧。

【块平衡】

在hdfs的实际使用过程中,难免会遇到DN的异常停止服务的时候。在这种情况下,当NN检测到DN处于异常后,为保证数据满足指定的副本数,因此会逐步为该DN上的所有block,选择新的DN节点,并完成block数据的拷贝,那么长时间运行后,各个DN的磁盘容量就会出现不一致的情况,或者说会有较大的差距。

另外一个比较典型的场景,就是对DN进行扩容。扩容后,新DN上是没有数据的。

对于这两种场景,我们可能会期望将磁盘使用率较高的节点中的一部分数据迁移到其他DN节点中,保证各个DN磁盘容量在一个较平衡的水平。因此,我们可以通过hdfs自带的命令,完成各个DN之间磁盘容量的平衡。

具体命令的使用如下所示:

hdfs balancer –threshold 10 –idleiterations 5
# 参数说明:
# -threshold:datanode之间磁盘使用率的相差阈值,取值范围0-100
# -idleiterations:迭代次数ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值