Linux 之父出席、干货分享、圆桌讨论,精彩尽在 OpenCloudOS 社区开放日,报名戳 了解详情
写点什么

Big Data on Kubernetes : 云原生大数据平台将如何演变

  • 2022 年 6 月 08 日
  • 本文字数:2228 字

    阅读完需:约 7 分钟

Big Data on Kubernetes : 云原生大数据平台将如何演变

去年,在大数据领域发生了两个比较有代表性的事件:Apaceh Spark 和 Kafka 先后开始正式支持 Kubernetes,两者间隔也就两个月。与此同时,Spark、Kubernetes(K8s) 和云原生存储也在逐渐取代 Hadoop 的“三架马车”:MapReduce 、YARN 和 HDFS。

 

“以前所有大数据组件的公分母是 Hadoop,现在已经变成 K8s 了。”智领云联合创始人兼 CEO 彭锋说道,“大数据平台的云原生化,是一个确定的趋势。”

 

在这一背景下,智领云发布了国内首个基于纯 K8s 平台运行的在线数据工程开发平台 BDOS Online,该平台提供了数据应用开发和运营所必需的组件,同时支持公有云及私有云发布。


改造思路

 

根据彭锋介绍,该平台的出发点是要让用户从之前数月周期、百万投入的大数据平台建设中抽离出来,可以直接使用大数据平台。

 

“以前使用大数据平台,需要采购至少十几台服务器,还要招人安装组件、建立开发和运维平台,购买各种各样的 BI 工具等。整个大数据平台的建设和使用成本,入门门槛和角色风险都比较高。我们希望通过云原生数据应用开发方式,用户开个账号就可以在数日内看到效果。”

 

实际上,业内都开始对大数据平台进行云原生改造,但各家思路并不相同。总体来看,国内用户更希望能够从现有架构平稳地迁移,厂商也更谨慎些。因此,目前厂商对大数据平台的云原生改造基本还在内部尝试阶段,没有成型的产品出来。

 

比如,某些厂商是基于自己的调度系统和分布式计算体系开发的大数据平台,虽然现在也在做 K8s 改造,把一部分调度工作移到了 K8s,但是绝大部分组件还是基于原来的大数据平台体系运行,并不是真正的实现了云原生架构下的数据平台。

 

相对来说,国外企业的改造会更加激进些。像 Snowflake 和 Databricks 基本已经放弃 Hadoop,以 K8s 为调度和运营平台,实现存算分离,直接使用云原生的存储来建设大数据体系,用户在线上可以直接运行应用,是更彻底、更纯粹的云原生。

 

智领云的思路与国外企业接近,即将全部组件做 K8s 改造,也将服务搬到了线上。为了兼顾对公有云和私有云的支持,智领云的底层云平台是松耦合的,同时将需要的通用功能抽象出来,而非直接对应 K8s 的 API。这样的架构允许系统灵活对接类似于阿里云的 ACK 服务,或者是自主发布的 K8s 集群。另外,虽然主要对标国内主流云服务商的 K8s 版本,但也将不断适配最新的 K8s 社区版。

 

智领云的底层之前使用的是 Mesos。由于 Mesos 和 K8s 皆来自 Google 的 Borg,在迁移到了 K8s 后,发布和管理流程并没有很大的变化。

 

迁移到 K8s 带来的最大好处就是有了更简单的 NameSpace 管理,简化了资源隔离或者用户隔离方面等很多工作。“原来 Mesos 的 NameSpace 管理没有那么完善,因为是二级调度,所以它的资源分配相对复杂,不如 K8s 的简单。”

 

存储方面,在私有发布中智领云目前采用的是 MinIO 和 HDFS。整体看,无论是开源还是闭源的云原生存储方案,现在对于大数据系统的支持都还不太成熟。即使是 Snowflake、Databricks 的很多解决方案也是使用了云厂商的存储。智领云在阿里云上使用的也是阿里云提供的 NFS 和 OSS。

 

“云原生的存储和大数据的存储之间最大的区别在于,云原生的存储主要是为了有状态容器的迁移和发布设计。比如当某个容器卸载后,其他地方仍可以启动原本的存储,无需再将数据复制。这比较适合无状态或简单的有状态服务,同时存算分离比较容易实现。将云原生的存储体系应用到大数据系统中,还是要解决一些 data locality 之类的优化问题。”彭锋介绍道。

 

运维方面,智领云正在致力于将整个运维“Operator 化”。所谓 Operator ,即允许大家将日常的安装、发布、运维,到扩容、降容、升级等所有操作代码化。“一旦完成,整个大数据运维将更加自动化。”

 

难在哪里?

 

不过,彭锋坦言,目前大数据平台的云原生改造并非易事,改造挑战主要体现在以下三个方面。

 

 第一,K8s 体系和原来大数据体系之间存在架构上的冲突。原来的大数据体系拥有自己的一套分布式管理和内部通讯机制,这与现在的 K8s 原生技术栈有很多冲突。例如,YARN 对于任务作业的调度和 K8s 本身的调度并不匹配,将 Hadoop 的 Kerberos 管理和 K8s 的 Secret 管理结合也需要做很多集成工作。

 

另外,两个体系所倡导的理念也不一样。比如 K8s 提倡的是存算分离,但是大数据讲究的是数据存在哪里计算就在哪里。这些矛盾都增加了融合难度。

 

因此可以看到,现在 Hive、Spark 只能支持某一版本的 K8s,而 Kafka 对 K8s 的支持现在并没有开源,这些都说明大数据组件对 K8s 的支持还处于跑通的早期阶段。为解决版本差异问题,智领云需要更改 Hive、Spark、Kafka 等源代码来完成改造。

 

第二,安装运维等流程改造上的冲突。现在 K8s 所有系统的安装、容错、运维、扩缩容以及更新等,全部以类似于 Operator 的方式自动运行,但大数据组件的安装运维方式是比较原始的手动管理方式。因此,要把大数据组件的安装运维方式全部换成 K8s 理念的,需要做很多工作。

 

第三,如何无缝迁移并对现有业务不造成影响。现有大数据组件运行了很多以前的业务应用,比如 ETL 数据分析、数据仓建设等,很多是用基于 HiveSQL 的程序开发的,为了使用 K8s 而把以前的业务应用全部重新写一遍是不现实的,所以我们需要考虑到现有 workload 的无缝迁移。

 

彭锋表示,大数据平台的云原生改造才刚刚开始。K8s 还有不少可以提升的地方,其在生态系统、业务系统上的采用正在逐渐提高,但要形成行业共识还需要一些时间。

 

“但可以肯定的是,K8s 是趋势。这种改造,不管是对以 SaaS 方式服务、云上提供服务,还是企业内部提供云原生数据开发能力来说,都非常重要。”彭锋说道。

 

2022 年 6 月 08 日 15:001679

评论 1 条评论

发布
用户头像
k8s还是有很多问题要解决
2022 年 06 月 09 日 20:07
回复
没有更多了
发现更多内容

[Pulsar] JWT认证的原理

Zike Yang

Apache Pulsar 12月日更

架构训练营模块一作业

沈益飞

「架构实战营」

Golang Gin 框架之中间件(六)

liuzhen007

28天写作 12月日更

请清晰沟通选题-从策略层面定义技术演讲

将军-技术演讲力教练

趣谈“链路追踪组件” Skywalking 和 PinPoint

悟空聊架构

链路追踪 Skywalking 28天写作 悟空聊架构 12月日更

元宇宙赛道以百万年薪“抢人”未来五大类人才最紧俏

CECBC

爸爸想对儿子说的话

Tiger

28天写作

mongodb出现重复id怎么办?

喵叔

28天写作 12月日更

linux重要的目录之proc和dev目录

入门小站

Linux

让每块火腿都留下“数字痕迹”!西媒:区块链将用于保护食品安全

CECBC

创业研发团队的组织建设-人才培养

wood

创业 人才培养 28天写作

新知识的地图绘制

Nydia

Prometheus Exporter (十五)PostgreSQL Server Exporter

耳东@Erdong

Prometheus postgres 28天写作 exporter 12月日更

云原生:K8s控制器汇总(附视频教程+PDF)

息之

k8s Node Deployment statefulset cronjob

Linux常用命令-如何操作文件?

qx

Linux

2.《重学JAVA》--初探JAVA

杨鹏Geek

「Java 25周年」 28天写作 12月日更

MySQL探秘(三):InnoDB的内存结构和特性

程序员历小冰

MySQL 28天写作 12月日更

【LeetCode】亲密字符串Java题解

HQ数字卡

算法 LeetCode 12月日更

随笔—写作

圣迪

不懂这五项权力,做什么项目经理

Ian哥

项目管理 28天写作 五项权力

《深入理解JVM虚拟机》第三章 垃圾收集器与内存分配策略

Joseph295

复制流动改变世界

mtfelix

28天写作

单例模式

卢卡多多

单例模式 28天写作 12月日更

33 K8S之访问控制

穿过生命散发芬芳

k8s 28天写作 12月日更

在线蚂蚁文,菊花文生成工具

入门小站

工具

一图看懂软件缺陷检查涉及的内容

Tom(⊙o⊙)

软件安全 静态代码检查

中年人的沉重3

张老蔫

28天写作

工作不喜欢,但不得不暂时干着,很痛苦,怎么办?

石云升

学习笔记 28天写作 12月日更

Python Qt GUI设计:QPrinter打印图片类(基础篇—21)

不脱发的程序猿

Python PyQt GUI设计

Android C++系列:Linux守护进程

轻口味

c++ android 28天写作 12月日更

声网发布教育新品:灵动课堂全球覆盖学生超400万,互动白板首创H5课件

声网

人工智能 代码

面向体验的视频云-火山引擎增长沙龙

面向体验的视频云-火山引擎增长沙龙

Big Data on Kubernetes : 云原生大数据平台将如何演变_大数据_褚杏娟_InfoQ精选文章