今年是Kubernetes的10周年,而“曾经”以Hadoop为代表的大数据生态已发展了将近20年。在云计算时代,各个行业、生态都在积极拥抱云原生,大数据生态也不例外。
传统大数据平台通常指的是基于Hadoop、Spark、Kafka等集群组件的系统,这些组件各自为战,存在数据开发迭代速度慢、集群资源利用效率低、运维复杂等问题,具体来说:
- 组件安装难:各个组件都是独立的安装流程,需要处理各种软、硬件适配,手工配置文件修改,在安装过程中需要人工状态检查及同步协调,难以自动化自助化
- 资源效率低:各个组件都是事先分配资源,无法共享资源池,或者根据负载动态调整组件的资源分配,造成资源分散,隔离度高,闲置率高
- 运行效率低:系统的大部分计算还依赖于传统Yarn引擎和MapReduce,难以统一计算、调度引擎,难以利用社区进展提升计算、调度引擎效率
- 运维管理难:各个组件都是独立运维,网络、存储方案难以统一,运维复杂,对运维人员要求高,常规运维操作难以自动化
用户期望云原生大数据技术能够在这些方面为传统大数据平台带来优化和改进。
从2018年起,一些开源大数据引擎陆续开始了 on Kubernetes 的探索,而到了2021年3月,Apache Spark 3.1 正式支持了Kubernetes,越来越多的企业开始在生产环境使用大数据云原生融合的技术。
随着 K8s 的进—步成熟和工具链的完善,我们相信越来越多的大数据应用会以云原生的方式发布 。如何利用新的云原生体系提升大数据系统的效率, 是每个希望高效完成数字化转型的企业需要回答的问题。
如今,在大数据平台的云原生化已是大势所趋的情况下,真正的云原生大数据平台究竟什么样?对此,智领云高级研发经理金津表示“云原生大数据平台的标准,就是能否部署在K8s环境中,不管是私有云,还是公有云。标准即是无需反复折腾物理架构的配置,也无需熬夜改造平台代码,只要能将整套大数据平台顺利部署在K8s之上,就是‘云原生大数据平台’”。
满足这样标准的云原生大数据平台,即Kubernetes Data Platform(简称 KDP) 提供了一个基于 Kubernetes 的现代化混合云原生数据平台。
之所以能被外界称为“真正的K8s云原生大数据平台”,是因为KDP是目前市场上第一款公开的完全基于K8s搭建的容器大数据平台,并逐一突破各项云原生关键技术:
- 对大数据核心组件进行代码级别的改造以支持K8s 资源调度,网络及存储体系,并将这些组件的最新版本进行统一集成;
- 在大数据组件的Operator和Helm Chart之上创建了统一抽象层,实现发布和运维的标准化和自动化;
- 扩展并强化了多租户环境下的安全认证及鉴权机制,采用统一的Kerberos安全认证和基于Ranger的授权机制;
- 利用K8s的命名空间实现多租户管理,资源隔离,实现按需动态资源配置,并实现了资源使用统计计费组件;
- 基于OAM标准统一应用发布和管理流程,打通各组件之间的配置管理,实现Infra as Code;
- 对计算引擎在云原生形态下的性能进行优化,例如:批流作业统一的Volcano调度,解决了Spark on HDFS的Data Locality问题。
KDP既可以快速从零开始打造一套企业级云原生大数据底座平台,同时也可以支持渐进式地对现有大数据系统进行云原生改造和迁移,助力企业更高效地进行数字化创新和数字化转型。其优势可总结为以下三点:
◼︎ 更高的集群资源利用率KDP可以帮助我们的客户,从传统大数据平台30%左右的资源利用率,提升到65%左右(业界普遍认为合理的水位线)
◼︎ 更高效的集群运维KDP通过标准化流程简化了大数据集群的运维,并提供UI界面进一步提升了各种数据组件部署、升级等操作的效率
◼︎ 更容易集成新的大数据组件KDP提供基于开放应用模型的统一集成框架,为大数据组件自动化集成了监控、运维、告警能力,极大地缩短了大数据项目开发和上线时间
集群概览
应用市场
应用实例资源拓扑
多租户管理
值得一提是,KDP 目前已提供开源版本,开发者只要准备好命令行工具,一键部署Hadoop,Hive,Spark,Kafka, Flink, MinIO …单机即可体验大数据平台。