Kubernetes上的Spark变得简单:Apache Spark在开源版本上的改进

如果你在找一个高层次的介绍Kubernetes上的Spark,结帐在Kubernetes上运行Spark的利弊,如果你正在寻找更深入的技术潜水,请阅读我们的指南在Kubernetes上设置,管理和监控Spark

Ocean for Apache Spark是一个托管Spark平台,部署在客户云账户内的Kubernetes集群上,可在AWS、GCP和Azure上使用。所以我们的整个产品都是建立在Kubernetes上的Spark之上的,我们经常被问到我们与在Kubernetes开源上简单运行Spark有什么不同。

简而言之,我们的平台实现了许多功能Kubernetes上的Spark更容易使用和成本效益。通过处理设置和维护,我们的目标是让您专注于并加速其采用,并为您节省大量维护工作。我们的目标是通过以下方式加速您的数据工程项目火花简单、灵活和高性能。

让我们回顾一下我们在Spark-on-Kubernetes之上的主要改进。

直观的用户界面

Ocean Spark用户可以获得一个仪表板,在那里他们可以查看每个Spark应用程序的日志和指标。他们还可以访问Spark UI,很快将被我们自己开发的名为Delight的监控工具所取代(更新,2020年11月20日:首先里程碑喜悦之情被释放了!)这个项目的目标是使Spark开发人员在应用程序出现故障时更容易地排除故障,并在必要时(例如围绕数据分区和内存管理)向他们提供高级建议以提高其性能。

数据力学喜悦-一个新的和改进的Spark UI
Spot由NetApp Delight开发。更新(2021年4月):喜悦现在正式发布!

他们还可以访问“作业UI”,其中提供了管道主要指标的历史图表,如处理的数据量,持续时间和成本。这样你的团队就可以轻松地确保你的生产管道按预期运行,并在必要时跟踪你的成本。

数据机械师工作界面
Ocean for Apache Spark Jobs UI

动态优化

Ocean for Apache Spark自动动态优化管道基础设施参数和Spark配置,使其快速稳定。以下是我们调优的设置:您的pod的内存和cpu分配,您的磁盘设置,以及围绕并行性、shuffle和内存管理的Spark配置。为此,我们分析应用程序的日志和指标,并使用应用程序过去运行的历史记录来找出瓶颈并对其进行优化。

海洋火花自动调谐

除了自动调优之外,我们的平台还在Spark应用程序级别(动态分配)和Kubernetes集群级别实现了自动伸缩。这意味着当你需要更多的资源时,我们管理Kubernetes节点池来扩展集群,当它们不需要时,我们将它们缩减到零。雷竞技rabet官网我们还可以轻松地为您的Spark执行器使用点节点,从而进一步降低您的云成本。

海洋为Spark自动缩放

最后但并非最不重要的是,我们提供为Spark优化的Docker映像其中包含到公共数据源和接收器的优化连接器。您既可以直接使用这些图像,也可以将它们用作基础构建自己的Docker镜像使用自定义依赖项。更新(2021年4月):这些图片可以在DockerHub

这些优化的目标是为您提供Spark应该提供的最大性能,并降低您的云成本。事实上,管理费我们对我们的服务收取的费用总是由我们在您的云提供商账单上产生的节省来补偿(有时会以相当大的比例超过)。

集成

Data Mechanics集成了笔记本服务(如Jupyter, JupyterLab, JupyterHub)和调度器/工作流服务(如气流).

由于我们的平台部署在您可以控制的Kubernetes集群上,因此您也可以使用Docker/Kubernetes兼容工具的完整生态系统。由于我们部署在您的云帐户中,在您的VPC中,您也可以轻松地在公司网络中使用您自己开发的工具构建自己的集成。

Ocean for Spark与Jupyter, Docker, Kubernetes, Airflow的本地集成

托管服务的安全性

作为托管服务,我们负责基础设施的设置和维护。当你注册Data Mechanics时,你给了我们在你的云账户上的权限,我们使用这些权限来创建Kubernetes集群,让它保持最新的安全补丁,并每两周推送一次新功能的发布。

Ocean for Spark架构

保证你的部署安全也是我们的责任。我们可以在贵公司的VPC内部署,并将您的集群设为私有,这样它就只能通过贵公司的VPN访问。我们为您提供了应用安全性最佳实践的工具,其中包含用于数据访问和用户身份验证(单点登录)的多个选项。

结论

我们很自豪能在上面建造,有时也会做出贡献,Spark-on-Kubernetes以及其他开源项目。我们试图以一种开放和透明的方式,建立一个你可以为自己建立的数据平台。通过部署在您的云帐户和VPC中,您可以获得自建项目的灵活性,以及托管平台的易用性。

我们内部构建的优化将远远弥补我们的不足定价.事实上,许多迁移到我们平台的客户能够将他们的Spark成本降低70%。如果这听起来很有趣,你为什么不预定时间和我们的团队一起,我们向你展示如何开始?

下载我们的免费指南,“自动缩放和其他6个Kubernetes自动化挑战”