分享嘉宾
陈得泳 - 中国联通大数据平台 SRE 工程师,致力于基于开源生态构建稳定、高效、安全、低成本的大数据集群。
业务背景
- 统一底座和安全基座位于不同IDC;
- 统一底座:承接 O 域全域网络数据,包括移动网信令、告警、故障、资源以及固网数据等基础数据加工的大数据集群,位于郑州 IDC;
- 安全基座:是应对网络安全专项支撑的大数据分析平台,位于呼和 IDC。
统一底座加工后的DNS/NetFlow等固网基础数据,支撑安全基座数据分析需求。
数据规律
- O 域统一底座每小时生产数据,存储于 HDFS 集群,需要在一小时内传输至安全基座的 HDFS集群,供业务加工,两套大数据平台都有自己独立的 KDC;
- 每小时的数据呈规律性波动,日传输数据总量达 310TB,平均每小时约13TB(波峰 16TB,波谷 4.6TB)。
业务挑战
310TB 的数据分布在 6张 Hive 表,此数据同步任务吞吐性能受限于以下挑战:
- 带宽受限:因为没有单独的专线,两个 IDC 之间的数据传输复用了共享的带宽,存在 15GB/s 限制 ,避免数据传输任务影响共享带宽中其它跨域交互的业务; KDC 互信:
- O域统一底座和安全基座是两套独立的大数据平台,为了避免直接交互,均配置了独立的KDC,KDC 之间不能配置互信,所以需要实现跨KDC数据传输;
- 数据校验:每日庞大的数据传输量及众多的任务,为确保数据完整性,采取强化一致性策略、实施严格数据校验机制,以及增量同步技术,用来提升系统的可靠性与数据准确性。
历史方案
历史同步方案基于 Hadoop 的 DistCP 实现,在统一底座和安全基座集群之间建设一套中转集群包含:
- 非 Kerberos HDFS 作为中转集群;
- 与源端同 KDC Realm 的 YARN-SRC;
- 同目标端同 KDC Realm 的YARN-DST。
方案的实现过程:
- 使用 YARN-SRC 将统一底座的数据同步至中转集群;
- 使用 YARN-DST 将中转集群的数据同步至安全基座;
- 配套调度任务和监控告警。
历史方案的缺陷
- 数据中转落盘增加时延:数据从 YARN-SRC 到 YARN-DST 的传输过程中,数据会在非 Kerberos HDFS集群落地一次,然后再上传至目标 HDFS。这种分步传输增加了额外的时延。同时,由于中间的本地 HDFS集群存在性能瓶颈,导致整体数据流转速度变慢;
- 数据中转存在安全风险:非 Kerberos HDFS集群,无身份认证仍可访问,存在数据泄漏的安全风险;
- 带宽与硬件限制性能:数据吞吐性能受带宽和本地非Kerberos HDFS集群硬件资源的双重制约。带宽瓶颈使得数据在不同节点之间传输时出现延迟。同时,本地 HDFS集群的硬件资源限制了并发处理能力(任务量翻倍),无法充分有效的支撑大量数据同时进行读写。
数据领域的"菜鸟裹裹" --- Alluxio数据流转方案
Alluxio 数据流转方案核心优势
- 提供跨多数据中心和多套 KDC 异构存储集群的统一视图;
- 具备高吞吐、高可用、高稳定性的数据流转,包括存储拉取、缓存及集群间的数据分发、迁移和拷贝;
- 传输任务包含:失败重传、校验不通过自动重新提交、文件去重等能力;
- 具备数据校验功能,增强数据完整性;
- 配备丰富易用的运维和监控工具。
具体方案应用
将本地 HDFS 中转方案替换为 Alluxio 数据流转方案后,将原有从源 HDFS 拉取到中转 HDFS 集群,和从中转 HDFS 集群上传到目标 HDFS 集群的两次传输动作,优化成从源到目标的直接传输,有如下显著的提升:
- 减少了中间步骤,大大提高了数据传输效率,减少了性能瓶颈点;
- 提升了带宽利用率,在数据波峰时,可以接近15GB/s的带宽上限,相较于原有方案带来约 3x 的性能提升;
- 实现双 KDC 交互,避免数据落盘,降低数据泄露的安全风险;
- 提供了丰富的数据分发管控功能和工具。
任务流程
- 配置任务自动调度,调度前自动扫描;
- 执行前会比对上下游 HDFS 数据是否一致,如果不一致,则进入下一步;
- 执行前判断上游是否正在对分区进行数据写入,如果没有,则进行分区数据传输任务;
- 任务失败或者存在临时目录时会自动等待下次任务执行。
生产效果
基于 Alluxio 数据流转方案的带宽使用情况展示:
从带宽监控来看,12:00--00.00 带宽使用率较高,数据量相对较大,但能保证数据在1小时内传输完成;00.00--10.00 数据量相对较小,30 分钟左右执行完,带宽峰值 15GB/s(35个节点的总带宽),基本上能够打满带宽,说明传输速率相对稳定。
在提供高性能数据下发能力的同时,Alluxio 还提供:
- 数据下发任务提交、运维的管理工具;
- 数据下发任务校验功能;
- 在下发任务部分文件失败、或者校验不通过时,能重新执行下发任务,同时自动带去重能力(已经成功下发的文件自动跳过,不重复进行下发,浪费带宽)。
Alluxio 数据流转方案带来的价值
- 性能提升显著:跨省机房定时数据传输任务吞吐提升 3 倍以上;
- 安全风险规避:满足多个不互信 KDC 下 HDFS集群接入,规避数据泄露风险;
- 服务与工具优化:提供高可用、可扩展的能力及丰富管理、运维和监控工具;
- 成本与复杂度降低:相比原有方案,降低硬件、运维人力成本及复杂度。
--- the end ---