新浪新闻客户端

数据丢失不用怕,火山引擎DataLeap 提供排查解决方案

数据丢失不用怕,火山引擎DataLeap 提供排查解决方案
2023年03月30日 19:00

  当一家公司的日均处理的数据流量在PB级别时,巨大的任务量和数据量会对消息队列(MQ)dump的稳定性和准确性带来极大的挑战。

  针对这一问题,火山引擎数智平台推出的大数据研发治理套件DataLeap,可以为企业提供完整解决方案,帮助解决MQ dump在极端场景中遇到的数据丢失问题。

  例如,当HDFS(一种分布式文件系统)集群某个元数据节点由于硬件故障而宕机。那么在该元数据节点终止半小时后,运维工程师虽然可以通过手动运维操作将 HDFS 切到主 backup 节点,使得HDFS 恢复服务。但故障恢复后, MQ dump 在故障期间可能有数据丢失,产出的数据与 MQ 中的数据不一致的情况。

  此时,技术人员可以在收到数据不一致的反馈后,立即借助火山引擎DataLeap进行故障排查。目前,火山引擎DataLeap基于开源Flink,已经实现了流批一体的数据集成服务。通过Flink Checkpoint的功能,Flink 在数据流中注入 barriers 将数据拆分为一段一段的数据,在不终止数据流处理的前提下,让每个节点可以独立创建 Checkpoint 保存自己的快照。

  图:Flink Checkpoint 基于 Chandy-Lamport 算法保障数据的一致性  图:Flink Checkpoint 基于 Chandy-Lamport 算法保障数据的一致性

  据介绍,每个 barrier 都有一个快照 ID ,在该快照 ID 之前的数据都会进入这个快照,而之后的数据会进入下一个快照。在排查过程中,火山引擎DataLeap基于对Flink 日志查看以及HDFS 元数据查看,可以率先定位症结所在:删除操作的重复执行造成数据丢失。进一步解释就是,在故障期间,写入数据前的删除操作在 HDFS NameNode 上重复执行,将写入的数据删除造成最终数据的丢失。

  图:使用文件State 前后处理流程对比  图:使用文件State 前后处理流程对比

  溯源后,用户可以通过火山引擎DataLeap选择使用文件State(当前的 Checkpoint id 和 task id)解决该问题。据悉,使用文件 State 后,企业在 Notify 阶段与 HDFS 交互的 metrics(打点监控系统)的平均处理时间减少了一半。

  目前,企业可以通过火山引擎DataLeap体验到上述Flink Checkpoint实践与优化方案,提升数据价值交付中的效率和质量。

  (来源:新视线)

责任编辑:孙青扬

举报邮箱:jubao@vip.sina.com

Copyright © 1996-2023 SINA Corporation

All Rights Reserved 新浪公司 版权所有