Alluxio数据流转方案在联通智网的应用

分享嘉宾

陈得泳 - 中国联通大数据平台 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。

方案的实现过程:

  1. 使用 YARN-SRC 将统一底座的数据同步至中转集群;
  2. 使用 YARN-DST 将中转集群的数据同步至安全基座;
  3. 配套调度任务和监控告警。
    在这里插入图片描述

历史方案的缺陷

  • 数据中转落盘增加时延:数据从 YARN-SRC 到 YARN-DST 的传输过程中,数据会在非 Kerberos HDFS集群落地一次,然后再上传至目标 HDFS。这种分步传输增加了额外的时延。同时,由于中间的本地 HDFS集群存在性能瓶颈,导致整体数据流转速度变慢;
  • 数据中转存在安全风险:非 Kerberos HDFS集群,无身份认证仍可访问,存在数据泄漏的安全风险;
  • 带宽与硬件限制性能:数据吞吐性能受带宽和本地非Kerberos HDFS集群硬件资源的双重制约。带宽瓶颈使得数据在不同节点之间传输时出现延迟。同时,本地 HDFS集群的硬件资源限制了并发处理能力(任务量翻倍),无法充分有效的支撑大量数据同时进行读写。

数据领域的“菜鸟裹裹” — Alluxio数据流转方案

Alluxio 数据流转方案核心优势

  1. 提供跨多数据中心和多套 KDC 异构存储集群的统一视图;
  2. 具备高吞吐、高可用、高稳定性的数据流转,包括存储拉取、缓存及集群间的数据分发、迁移和拷贝;
  3. 传输任务包含:失败重传、校验不通过自动重新提交、文件去重等能力;
  4. 具备数据校验功能,增强数据完整性;
  5. 配备丰富易用的运维和监控工具。
    在这里插入图片描述

具体方案应用

将本地 HDFS 中转方案替换为 Alluxio 数据流转方案后,将原有从源 HDFS 拉取到中转 HDFS 集群,和从中转 HDFS 集群上传到目标 HDFS 集群的两次传输动作,优化成从源到目标的直接传输,有如下显著的提升:

  1. 减少了中间步骤,大大提高了数据传输效率,减少了性能瓶颈点;
  2. 提升了带宽利用率,在数据波峰时,可以接近15GB/s的带宽上限,相较于原有方案带来约 3x 的性能提升;
  3. 实现双 KDC 交互,避免数据落盘,降低数据泄露的安全风险;
  4. 提供了丰富的数据分发管控功能和工具。

在这里插入图片描述

任务流程

  1. 配置任务自动调度,调度前自动扫描;
  2. 执行前会比对上下游 HDFS 数据是否一致,如果不一致,则进入下一步;
  3. 执行前判断上游是否正在对分区进行数据写入,如果没有,则进行分区数据传输任务;
  4. 任务失败或者存在临时目录时会自动等待下次任务执行。

在这里插入图片描述

生产效果

基于 Alluxio 数据流转方案的带宽使用情况展示:
在这里插入图片描述
从带宽监控来看,12:00–00.00 带宽使用率较高,数据量相对较大,但能保证数据在1小时内传输完成;00.00–10.00 数据量相对较小,30 分钟左右执行完,带宽峰值 15GB/s(35个节点的总带宽),基本上能够打满带宽,说明传输速率相对稳定。

在提供高性能数据下发能力的同时,Alluxio 还提供:

  • 数据下发任务提交、运维的管理工具;
  • 数据下发任务校验功能;
  • 在下发任务部分文件失败、或者校验不通过时,能重新执行下发任务,同时自动带去重能力(已经成功下发的文件自动跳过,不重复进行下发,浪费带宽)。

Alluxio 数据流转方案带来的价值

  1. 性能提升显著:跨省机房定时数据传输任务吞吐提升 3 倍以上;
  2. 安全风险规避:满足多个不互信 KDC 下 HDFS集群接入,规避数据泄露风险;
  3. 服务与工具优化:提供高可用、可扩展的能力及丰富管理、运维和监控工具;
  4. 成本与复杂度降低:相比原有方案,降低硬件、运维人力成本及复杂度。

— the end —

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜维尔科技提供完整的人形机器人解决方案以及训练系统

问题:从灵巧手收集的数据是否也会在大脑大模型中训练,或是在专门用于手部控制的单独模型中训练? Q: If the data collected from dexterous hands will be trained as well in the brain large model, or in a separate model dedicated for…

打造餐饮品牌的产品矩阵:美味与策略的完美融合-中小企实战运营和营销工作室博客

打造餐饮品牌的产品矩阵:美味与策略的完美融合-中小企实战运营和营销工作室博客 在竞争激烈的餐饮市场中,打造一个成功的餐饮品牌,关键在于构建一个强大且富有吸引力的产品矩阵。这不仅涉及到研发出令人垂涎欲滴的美味佳肴,更需要…

前端大数据处理 - Web Worker

前言 先了解一个概念:页面假死 浏览器有GUI渲染线程与JS引擎线程,这两个线程是互斥的关系 当js有大量计算时,会造成 UI 阻塞,出现界面卡顿、掉帧等情况,严重时会出现页面卡死的情况,俗称假死 在前端开发…

无缝过渡:将 Ansys 子结构模型转换为 Nastran

了解如何将 Ansys 子结构模型无缝转换为 Nastran,以满足有效载荷动态模型要求 Ansys 子结构模型的优势 Ansys 子结构模型为从事大型装配体结构分析和仿真的工程师和分析师提供了多项优势。 这些模型通过将复杂结构划分为更小、更易于管理的子结构,可以…

【Flink系列】4. Flink运行时架构

4. Flink运行时架构 4.1 系统架构 Flink运行时架构——Standalone会话模式为例 1)作业管理器(JobManager) JobManager是一个Flink集群中任务管理和调度的核心,是控制应用执行的主进程。也就是说,每个应用都应该被…

AI刷题-饭馆菜品选择问题、构造回文字符串问题

目录 一、饭馆菜品选择问题 问题描述 测试样例 解题思路: 问题理解 数据结构选择 算法步骤 最终代码: 运行结果: 二、构造回文字符串问题 问题描述 测试样例 解题思路: 解题思路 具体步骤 最终代码:…

使用redis-cli命令实现redis crud操作

项目场景: 线上环境上redis中的key影响数据展示,需要删除。但环境特殊没办法通过 redis客户端工具直连。只能使用redis-cli命令来实现。 操作步骤: 1、确定redis安装的服务器; 2、找到redis的安装目录下 ##找到redis安装目…

讲一下ZooKeeper的持久化机制?

大家好,我是锋哥。今天分享关于【讲一下ZooKeeper的持久化机制?】面试题。希望对大家有帮助; 讲一下ZooKeeper的持久化机制? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 ZooKeeper 是一个开源的分布式协调服务&…

图数据库 | 18、高可用分布式设计(中)

上文我们聊了在设计高性能、高可用图数据库的时候,从单实例、单节点出发,一般有3种架构演进选项:主备高可用,今天我们具体讲讲分布式共识,以及大规模水平分布式。 主备高可用、分布式共识、大规模水平分布式&#xff…

【Python】第二弹---深入理解编程基础:从常量、变量到注释的全面解析

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】【Python】 目录 1、常量和表达式 2、变量和类型 2.1、变量是什么 2.2、变量的语法 2.3、变量的类型 2.4、动态类型特…

生产环境中常用的设计模式

生产环境中常用的设计模式 设计模式目的使用场景示例单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点- 日志记录器- 配置管理器工厂方法模式定义一个创建对象的接口,让子类决定实例化哪个类- 各种工厂类(如视频游戏工厂模式创…

YOLOv10改进,YOLOv10检测头融合RFAConv卷积,添加小目标检测层(四头检测)+CA注意机制,全网首发

摘要 空间注意力已广泛应用于提升卷积神经网络(CNN)的性能,但它存在一定的局限性。作者提出了一个新的视角,认为空间注意力机制本质上解决了卷积核参数共享的问题。然而,空间注意力生成的注意力图信息对于大尺寸卷积核来说是不足够的。因此,提出了一种新型的注意力机制—…

解锁C#语法的无限可能:从基础到进阶的编程之旅

目录 一、C# 基础语法 1.1 数据类型 1.2 变量与常量 1.3 运算符 1.4 控制流语句 二、C# 面向对象编程语法 2.1 类与对象 2.2 封装 2.3 继承 2.4 多态 虚方法 抽象类 接口 三、C# 高级语法 3.1 特性(Attribute) 预定义特性 自定义特性 3…

“AI智能防控识别系统:守护安全的“智慧卫士”

在如今这个科技飞速发展的时代,安全问题始终是大家关注的焦点。无论是企业园区、学校校园,还是居民社区,都希望能有一双“慧眼”时刻守护着,及时发现并防范各种安全隐患。而AI智能防控识别系统,就像一位不知疲倦、精准…

Leetcode 983. 最低票价 动态规划

原题链接&#xff1a;Leetcode 983. 最低票价 class Solution { public:int mincostTickets(vector<int>& days, vector<int>& costs) {int n days.size();int last days[n - 1];int dp[last 1];map<int, int> mp;for (auto x : days)mp[x] 1;dp…

Vue篇-07

Vue UI组件库 一、移动端常用的UI组件库 1.1、Vant 1.2、Cube UI 1.3、Mint UI 二、PC端常用的UI组件库 2.1、Element UI Element - The worlds most popular Vue UI framework 安装&#xff1a; 按需引入&#xff1a; 135_尚硅谷Vue技术_element-ui按需引入_哔哩哔哩_b…

2025.1.15——四、布尔注入

题目来源&#xff1a;ctfhub技能树 目录 一、基本操作&#xff1a;整理已知信息&#xff0c;得到本题为布尔注入 方法一&#xff1a;手工盲注&#xff08;不推荐&#xff09; step 1&#xff1a;判断具体形式 step 2&#xff1a;查询字段数 step 3&#xff1a;通过回显判…

基于SpringBoot的装修公司管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

小游戏前端地区获取

目前前端获取除了太平洋&#xff0c;没有其它的了。 //在JS中都是使用的UTF-8&#xff0c;然而requst请求后显示GBK却是乱码&#xff0c;对传入的GBK字符串&#xff0c;要用数据流接收&#xff0c;responseType: "arraybuffer" tt.request({url: "https://whoi…

Spark 之 Aggregate

Aggregate 参考链接: https://github.com/PZXWHU/SparkSQL-Kernel-Profiling完整的聚合查询的关键字包括 group by、 cube、 grouping sets 和 rollup 4 种 。 分组语句 group by 后面可以是一个或多个分组表达式( groupingExpressions )。 聚合查询还支持 OLAP 场景下的多…