点击蓝字 关注我们

1b6c7a7684b94e35783ecd7568922ae3.png

03a516e9535c0a8b783b2b7c008b4553.png

用户案例 | 思科网讯

思科网讯(Cisco Webex)是一家开发和销售在线会议、视频会议、云呼叫服务和联络中心作为服务应用程序的软件公司,团队设计并搭建了大数据平台,服务于组合产品的数据注入和工作负载的数据处理。

以 Webex 会议产品为例,Webex 会议会生成各种指标,当召开会议时,客户端和服务器都会向 Kafka 集群发送大量指标和日志,外部和内部客户都依赖这些指标来优化会议体验或生成报告。


在大数据业务数据处理中,思科网讯通过 Apache DolphinScheduler 不仅实现了多种作业的高效调度,还实现了数据血缘和元数据管理、数据治理和数据日常集成等目标。

业务挑战

由于思科网讯是一家全球协作服务提供商,客户跨越多个时区和大洲,在全球拥有众多数据中心。这些数据中心包括本地自我管理的数据中心和由亚马逊和谷歌等云提供商管理的集群。过去,思科网讯会使用镜像将所有全球数据中心数据集中到美国的一个集中式 Kafka 集群中,并从那里开始数据处理和数据整合。

近年来,思科网讯在全球范围内建立了多个集群来进行数据本地化,数据模型从包含来自世界各地的所有数据的集中式集群,变成了包含本地生成数据的各个数据中心。

思科网讯下一代数据平台想解决的另一个问题是“数据孤岛”,因为不同类型的服务运行在不同的基础设施上,每个产品都有自己的数据注入和数据平台实现,并且数据来源多样,数据存储格式众多,所以无法为客户提供统一的数据源,且很难保证不同系统之间的一致性。

思科网讯的愿景是打造一个能够服务每一个内部和外部客户的数据平台,可以从统一架构、数据存储和数据注入技术中消除数据孤岛,整合所有的基础设施。此外,这个数据平台还需要能够适配架构中的任何公共云和现有的私有数据中心。

解决方案

01

DolphinScheduler与k8S集成

7ed03528e6117db7cd9ee5300e834ff9.png

如架构图所示,左边部分是 DolphinScheduler 的特性。不同的任务类型在这些 worker 上运行。所有的数据处理作业,例如 Flink 和 Sparks 过去运行在多个不同的 Yarn 集群上。我们有一个用于批量 Spark 作业和 Flink 作业的 CDH 集群,多个 Flink 作业运行在不同的 Flink 集群上。在 2021 年,我们决定构建一个 Kubernetes 集群来替代 Yarn 集群,原因如下。

  1. 使用 Kubernetes 让我们的日常操作更加顺畅和轻松。

  2. 加入 Kubernetes 的第二个原因是它允许我们在其中部署各种容器化服务。

于是思科网讯构建了一个 Kubernetes 集群来替代 Yarn 集群,让所有的数据处理作业都在 Kubernetes 集群上运行,扩展了 DolphinScheduler 的功能,把 Flink、Spark 和 Kubernetes 功能与 DolphinScheduler 集成。

02

多集群 ETL 作业管理

915d797a3b9530c85d5e9019cb3ef64d.png

思科网讯的一个典型用例是在多个集群上部署相同的作业,为了最大限度地减少部署工作,通过概括通用处理逻辑并替换每个集群所需的配置,来一键开发多个集群功能。

思科网讯使用一个集中的 DolphinScheduler 来作为所有数据处理作业的作业调度平台,将作业运行在不同的数据中心。当用户向不同集群提交新作业时,DolphinScheduler 会根据用户选择将使用示例和文件分发到目标集群并运行作业。

运行作业的资源在 DolphinScheduler 上进行管理,可以为不同 Kubernetes 集群上的每个 Namespace 设置 CPU 内存限制。此外,思科网讯还将在发生错误时常用的告警插件 Webex teams 作为插件添加到 DolphinScheduler,以便错误发生时跟踪问题。

03

Kubernetes 多集群管理

61a2cbe2aab322273cb7208cd55c266a.png

思科网讯在世界各地的私有数据中心或 AWS 等公共云中构建了许多 Kubernetes 计算集群。为了让 DolphinScheduler 能够为遍布世界各地的数据中心提交和管理作业,思科网讯在 DolphinScheduler 上实现了集群管理和命名空间等功能。

04

简单 ETL 管道拖放式生成框架

4031f574d18fede5347623debad744b0.png

对于没有复杂竞争逻辑的简单处理作业,思科网讯在 DolphinScheduler 上开发了一个拖放式的管道生成框架。

用户可以通过在画布上拖放来生成复杂的实时数据处理管道。通过配置预定义的源过滤器映射和同步运算符,用户无需编写任何代码。值得注意的是,思科网讯还将元数据集成到数据中心以供源和 map operators 使用。因此,当用户选择他们想要处理的主题时,看到的列表中的作业是来自数据中心中的 API 数据的。用户无需在接口上键入名称和 Kafka 集群配置字符串,而是从数据中心自动获取。在 map operators 中,用户可以为每个字段定义不同类型的函数。

05

Kubernetes 上的 Flink 作业

Kubernetes 上的 Flink 作业

c88e159b33b25b5cc8908b78f9333e31.png

思科网讯还在 DolphinScheduler 中基于 Kubernetes 功能构建了 Flink 作业,有些人可能会感到困惑,因为 DolphinScheduler 在工作流中已经有 Flink 任务端口。这是因为 DolphinScheduler 中的 Flink 任务仅适用于 Yarn,但我们打算在 Kubernetes 集群上运行所有作业。我们通过在当前 DolphinScheduler 架构中添加与 Kubernetes 相关的 API 来实现 Flink 作业运行到 Kubernetes 上。

用户收益

  1. 基于DolphinScheduler构建了下一代数据平台,实现了在一个平台上运行所有类型的作业;

  2. 打破了思科网讯数据孤岛,打通了全球数据中心,整合了任何公共云和现有的私有数据中心,保证了系统之间的一致性;

  3. 将所有数据处理作业都运行在 Kubernetes 集群上,降低了运营和维护成本。

用户简介

3e6df37907340847495df778d063710f.png

旧金山思科网讯(WebEx) 是 Cisco 的子公司,是一家开发和销售在线会议、视频会议、云呼叫服务和联络中心作为服务应用程序的软件公司,为各种规模的公司创建随需软件解决方案。

参与贡献

随着国内开源的迅猛崛起,Apache DolphinScheduler 社区迎来蓬勃发展,为了做更好用、易用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,让本土开源走向全球。

ed61cc9eedf5da39298b323b5295ec64.png

参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:

cd7ce0139c3074a7a70a830438d21746.png

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689

非新手问题列表:https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22

如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html

来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。

参与开源可以近距离与各路高手切磋,迅速提升自己的技能,如果您想参与贡献,我们有个贡献者种子孵化群,可以添加社区小助手微信(Leonard-ds) ,手把手教会您( 贡献者不分水平高低,有问必答,关键是有一颗愿意贡献的心 )。

2b5db7ba5a22afc61a9326a5c57cd756.jpeg

添加社区小助手微信(Leonard-ds) 

添加小助手微信时请说明想参与贡献。

来吧,开源社区非常期待您的参与。

< 🐬🐬 >

更多精彩推荐

社区最早一批贡献者为什么还在坚持活跃?

☞优秀用户案例有奖征集 | 活动火热开启,快来投稿!

DolphinScheduler UI 项目启动提速 2 倍,原来是使用了 Vite!

☞DolphinScheduler×长安汽车 | 千万级数据接入能力智能网联汽车云平台引进核心调度系统

☞去年办了这么多场Meetup都没有你,2023年赶紧安排起来!

☞DolphinScheduler UI 项目启动提速 2 倍,原来是使用了 Vite!

PyDolphinScheduler发布4.0.2版本,修复无法提交工作流到DolphinScheduler 3.1.4的问题

我知道你在看764c8e6bd1af2096fa76115f12bdba36.png

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐