HDFS简化版Maintenance state实现

本文介绍了HDFS的Maintenance state功能,用于在机器维修时降低对集群的影响。作者分析了社区实现与内部场景的差异,并提出了简化改造方案:去除enter maintenance状态,通过dfsadmin命令灵活管理Maintenance节点,同时指出该简易版可能存在的状态丢失风险,并展示了UI的相应调整。
摘要由CSDN通过智能技术生成

前言


在HDFS集群运维过程中,我们经常会遇到机器送修的情况,尤其在集群机器数量比较多的情况下,每天因为坏盘或是其它硬件问题导致的机器维修是很常见的。对于集群维护者来说,机器的这种日常损坏我们是无法回避的,我们能做的是如何将这种机器维修所造成的影响降低到最小。在现有的HDFS功能里,社区提供了一种叫做Maintenance state(HDFS-7877)的功能来专门处理这种情况。本文笔者来谈谈这个有用的功能以及我们内部是如何简化此特性来方便于我们的使用的。

Maintenance state


Maintenance state是DataNode里面一种新的状态,它和DataNode正常In Service状态最大的区别是它不会触发大量的replica复制。而且Maintenance state有自己的过期时间阈值设置,一旦超过过期时间,Maintenance state节点会自己重新切换成In Service状态。从这个过程我们可以看到,Maintenance state的引入可以使得机器维护的时段对集群来说是完全透明的,但是这里还需要有一个前提条件:集群内拥有其它足够的副本数据以此保证数据的可用性。如果在维修的机器上保留的是集群仅存的副本数据的话,依然还是会导致数据无法访问的情况。

因此在Maintenance state功能里面,很重要的一部分实现做的是最少副本数的检查,来确保机器进入Maintenance状态后,不会出现部分数据无法访问的情况。

Maintenanc

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值