发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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

  • 2022-06-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-06-08 15:004760

评论 2 条评论

发布
用户头像
这里应该是无状态容器

云原生的存储主要是为了有状态容器的迁移和发布设计。

2022-11-26 12:01 · 北京
回复
用户头像
k8s还是有很多问题要解决
2022-06-09 20:07
回复
没有更多了
发现更多内容

交易所市值管理机器人开发

Geek_23f0c3

去中心化交易所系统开发 市值管理机器人系统开发 做市机器人 去中心化市值管理机器人

Linux云计算-使用 MyCat 实现 MySQL 主从读写分离

学神来啦

MySQL 数据库 Linux 运维

区块链交易所搭建,币币交易系统搭建

运用上游思维的七个思路

石云升

读书笔记 8月日更 上游思维

你的登录接口真的安全吗?快看看你有没有中招!

xcbeyond

安全性 8月日更

MySQL 字段NOT NULL

一个大红包

8月日更

数据同步系统重构实践

Qunar技术沙龙

数据库 ES canal 数据同步 Kafk

深耕基础软件,华为开源加速“新全球化

科技热闻

超级人脉:让巴菲特老爷子告诉你圈子的重要性

非著名程序员

人脉 认知提升 思维 8月日更

事事请示是不靠谱的表现

boshi

团队管理

vue入门:简单指令介绍

小鲍侃java

8月日更

如何在FL Studio中对整首歌曲音量进行调整

懒得勤快

一个小而美的 Swift 框架:Then

fuyoufang

swift iOS Developer 8月日更

极光开发者周刊【No.0813】

极光JIGUANG

QDS07 Mysql 安装指定版本

耳东@Erdong

MySQL 8月日更 qds

你知道关闭页面时怎么向后台发送消息吗?

编程三昧

JavaScript 大前端 8月日更

Python代码阅读(第10篇):随机打乱列表元素

Felix

Python 编程 Code Programing 阅读代码

JAVA对于文件IO操作的支持

卢卡多多

Java 文件 io 8月日更

智能时代的信任口诀:让计算远离算计

脑极体

【音视频】弱网下实时视频的极限通信

声网

音视频 视频处理 视频压缩

手势事件采集究竟有多难?

神策技术社区

ios 手势

学习笔记: JPA与Hibernate

yhrivory

数据库 hibernate jpa ORM spring data

从小白程序员到大厂高级技术专家我看过哪些书籍?

冰河

学习 程序员 面试 程序人生

漏洞挖掘的快乐你想象不到

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

DAPP智能合约搭建|DAPP波场智能合约开发

量化系统19942438797

智能合约 dapp

云原生-工作流引擎Zeebe

QiLab

云原生 k8s cncf BPM zeebe

架构实战营 - 模块五作业

李东旭

「架构实战营」

你的日志打印对了么?

神策技术社区

数据分析 日志

数据上报方式是否存在最优解?

神策技术社区

编程 数据

一群人的战斗

神策技术社区

编程 代码

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