为了解决单节点的宕机问题,我们与 DNO 进行了绑定,并利用了 HDFS 多副本机制,在我们集群有两种副本模式,一种是三副本,一种是 EC(Erasure Coding)副本 。不同模式下,都通过副本的机制实现数据的高可靠性:在多副本的部署方案下,即使某个节点完全挂掉,我们也可以直接剔除它,而不影响整体运行和数据的可靠性 。
在实践中,将单节点部署在本地,同时使用 JuiceFS 和单节点 Redis,是能够获得最佳性能的方式 。因为我们需要与 HDFS 和 EBS 方案的性能进行对标 。
我们通过基于 HDFS 的分布式水平扩展和 JuiceFS 的缓存与读写策略优化,实现了高性能的 HDFS 。优化部分如下:
使用 JuiceFS 替换 gp3 的目录,以一块小的 gp3 存储作为 JuiceFS 的缓存目录,实现了 IOPS 对齐 gp3 的水平;
通过优化 JuiceFS 缓存机制,定制的异步删除,异步合并上传,S3 目录 TPS 预置等优化减少落到 S3 的情况,低成本存储的 S3 替换 gp3;
基于 HDFS 集群的分布式实现节点水平扩展;
利用 Hadoop 异构存储的特性,根据业务特性拆解 IO,以优化性能和成本 。
我们将 HDFS 存储拆分为两个部分,"DISK" 和 "SSD" 。"SSD" 存储类型对应的是使用 JuiceFS 的 EBS 缓存与 S3 整合的混合存储 。"DISK" 存储类型被配置为写入 DN 的 EBS 存储的目录 。在那些会频繁覆写的目录,例如 Stage 目录,我们会将这些目录设置成使用 DISK 进行存储 。EBS 存储更适合频繁擦写,对比 S3 的少了额外 OP 费用,而且这些目录对存储的总量要求是可控的,因此这个场景我们保留了一小部分 EBS 存储 。
计算层:Spot 节点与按需节点混合部署方案
首先,当我们将国内自建的 YARN 集群迁移到云上时,它无法适应云上的资源特性以实现成本优化 。因此,我们基于 YARN 的智能动态伸缩方案与标签调度相结合,同时采用 Spot 节点与按需节点混合部署方案,来优化计算资源的使用 。
调整调度器策略为容量调度 (CapacityScheduler);
划分按需节点分区和 Spot 节点分区;
调整有状态的节点到按需节点的分区 ,让不同状态的任务跑在不同的区域;
使用按需节点兜底;
回收通知与 GracefulStop,当抢占节点在回收之前会提前收到回收的通知,调用与 GracefulStop 停止业务,避免与用户作业直接失败;
Spark+RSS,减少当节点回收的时候,数据本来在动态节点上面从而去导致要重算作业的概率 。
基于我们的业务需求去做了一些动态智能伸缩的方案 。和原生方案对比,我们更关注的方向是:基于业务的状态去做动态伸缩,因为云厂商不可能知道业务的热点时间 。
基于内部运维工具 Smarttool 的周期性预测,实现智能伸缩 。我们取前三周的一个历史数据,去做一次简单的拟合,然后通过 Smarttool 预置的算法得到拟合残差序列 resid,以及预测值 ymean 。通过这个工具预测某一天某个时间点它的资源使用应该是什么样子,然后去实现动态伸缩容 。
基于时间规则的定时伸缩,例如针对特定时间做预伸缩:每月 1 号的月报表生成时间、大促等特定的时间做提前的容量预置 。
基于使用率的动态伸缩,使用容量在一定时间内大于阈值上限,或小于阈值的下限,会触发自动扩容和缩容,实现非预期的用量需求兜底 。尽量保障我们的业务在云上面是能够得到一个稳定的,但是成本相对比较低的,计算资源的方案 。
生命周期管理:数据分层,实现存储成本优化
我们实际上是基于副本机制将 JuiceFS 和 S3 整合的数据可靠性 。不论是三副本还是 1.5 副本的 EC,都会有额外的存储支出成本,但是我们考虑到一些数据热度的情况,一旦数据过了一定的生命周期,其对 IO 的需求可能不再那么高 。因此,我们引入了一层 Alluxio+S3 的单副本层,来处理这些数据 。但是需要注意,如果不改变目录架构,这一层的性能其实比使用 JuiceFS 要差很多 。尽管如此,在冷数据的场景下我们仍然可以接受这样的性能 。
因此,我们自主开发了一个数据治理和组织分层的服务,通过对数据进行异步处理,实现了对不同生命周期数据的管理和成本优化 。我们称这个服务为数据生命周期管理工具 BTS 。

文章插图
(生命周期管理工具 BTS 架构)BTS 的设计基于我们的文件数据库、元数据以及审计日志数据,通过对表格及其热度的管理,来实现数据生命周期管理 。用户可以使用上层的 DAYU Rulemanager 自定义规则以及使用数据的热度来生成规则 。这些规则指定哪些数据被视为冷数据,哪些数据被视为热数据 。
推荐阅读
- 魏大勋4万本杂志秒没,芭莎主编被吓到,连沈腾都要让着他
- 有种“整容”叫蒋丽莎结婚,5年剖4胎后,如今比大16岁丈夫还显老
- 乒乓菊很好养,不怕晒,耐干旱,花期长,十几块一大盆!
- 有人说退休金也分三六九等,差距很大,对此你怎么看呢?
- 狂卖170亿,今年电影为啥大爆发?
- 大年初一禁忌有哪些 大年初一禁忌什么?
- 新鲜鲍鱼怎么洗才干净?鲍鱼做法大全
- 韩媒曝大S病重,卧床不起面色蜡黄,汪小菲赴台凌晨发文:照顾她
- 印度少年自愿当阉人,非男非女无人爱,13年后最大愿望是娶个老婆
- 刘嘉玲的瓜,太大了
