关于大数据和Kubernetes的大交易

Kubernetes大数据

你应该在Kubernetes上运行大数据工作负载吗?就在不久前,大多数人还会说,肯定不会。你可能听说过以下原因:

  • 大数据工作负载需要直接访问存储和网络资源雷竞技rabet官网
  • Kubernetes的调度人员不了解大数据工作负载的具体需求
  • Kubernetes对监测的支持太有限
  • 与大数据软件的集成还不够先进,无法使Spark、Kafka和kubernetes管理的容器中的类似软件易于操作。

尽管Kubernetes的早期采用主要是无状态服务,而不是以数据为中心的应用程序,但现在越来越多负责大数据平台的团队正在寻求采用Kubernetes,尤其是那些希望在云中部署和操作大数据工作负载的团队。凭借其固有的可扩展性,Kubernetes实际上正在成为大数据团队运行应用程序的主要方式。

是什么改变了?Kubernetes的架构和功能一直很适合在大规模基础设施上部署和操作可扩展的分布式应用程序,但在Kubernetes及其生态系统的发展出现之前,释放这种价值主张是复杂和不切实际的,直到Kubernetes及其生态系统的发展使这些好处变得可访问和可实现。

让我们仔细看看。

Kubernetes大数据软件的案例

考虑使用Kubernetes和容器来支持大数据软件的原因是基于Kubernetes的核心优势——它使基础设施和运营团队更容易以灵活、可靠的方式部署、扩展和管理软件和资源。雷竞技rabet官网负责大数据平台和基础设施的团队已经有足够多的工作要做,以确保数据科学家和数据工程师能够访问他们所需的数据和系统,因此拥有简化和简化基础设施管理的解决方案非常重要。雷电竞官网进入随着Kubernetes越来越被认为是云操作系统在美国,大数据平台团队也越来越多地将其用于这些工作负载。

确保可移植性

大数据软件通常部署在各种各样的环境中——不仅有多个生产集群处理数据,而且还有用于测试、登台、开发、数据探索等的集群部署在不同的基础设施上。

将大数据软件及其依赖项打包到Kubernetes管理的容器中,可以轻松地在任何地方部署大数据软件,而不需要重新配置组件以适应底层硬件和软件基础设施,也不需要考虑基础设施在哪里运行。例如,可以在不同的云区域甚至私有云中使用不同的硬件代或不同的实例类型轻松地再现相同的堆栈,而不需要重新配置和重新打包。

简化

使用容器和Kubernetes的一个相关好处是,以可靠和可重复的方式构建和部署大数据应用程序变得非常容易。这对于大数据应用程序尤其重要,因为它由许多组件组成,每个组件都有一个非常特定的依赖关系和配置要求列表。

使用容器和Kubernetes,您可以避免Hadoop、Cassandra、Spark或类似复杂系统的库版本不匹配和组件兼容性的复杂性。不仅如此,您还可以使用版本控制和容器标记来尝试多个版本,以便于部署和更新每个版本,而不会产生冲突和不兼容。这使得数据工程师和数据科学家可以更容易地快速创建部署,用于实验、数据探索、测试和新的应用程序,而不需要花费DevOps和基础设施团队的时间和精力来设置、调整和扩展基础设施和软件组件。

资源管理

大数据工作负载,特别是那些支持开发、数据探索和测试的工作负载,在运行时可能需要大量的基础设施,但使用情况也非常不稳定。每个部署的专用集群由于资源的低效使用而产生了巨大的成本。雷竞技rabet官网

Kubernetes没有强迫您创建多个孤立的基础设施集群,而是使高效共享资源成为可能,这样同一个集群就可以安全地用于多个甚至并发应用程序,从而提高利用率,同时避免依赖冲突或非托管资源竞争。雷竞技rabet官网Kubernetes的命名空间和资源配额等功能确保了不同的工作负载可以公平地共享资源,而节点选择器和角色可以根据需要隔离资源和访问。雷竞技rabet官网

解锁Kubernetes对大数据软件的好处

虽然这些优点从一开始就是Kubernetes和容器的基本组成部分,但Kubernetes和大数据软件的进步使它们更容易获得,帮助打开了Kubernetes在大数据基础设施中越来越多地使用的大门。

易于部署

通用大数据平台的运营商的可用性使得在Kubernetes上部署大数据软件变得非常容易。现在有各种专门的Kubernetes运营商,可以很容易地在Kubernetes上部署大数据解决方案——例如,有雷电竞官网进入Apache Kafka操作符Apache Spark操作符Apache Cassandra操作符还有很多其他的。这些运营商的可用性释放了Kubernetes的可移植性优势,使得以一致、可靠的方式在各种环境中轻松部署大数据软件。

日益增长的生态系统

虽然在Kubernetes早期,理解和使用Kubernetes的工具生态系统有限,这可能是大数据解决方案的一个障碍,但随着时间的推移,Kubernetes已经开发了一个广泛而丰富的解决方案生态系统,用于监控、日志记录、安全等,可以与大数据平雷电竞官网进入台一起使用。寻找工具来帮助收集和检查Hadoop集群中每个节点生成的所有日志?快速搜索就能找到许多相关的教程,比如与Kubernetes建立流畅使用ElasticSearch检查Kubernetes日志,以及更多。类似地,您可以很容易地找到在Kubernetes上监视Apache Spark集群性能的示例普罗米修斯收集度量可以使用预构建来显示和查看Spark的Grafana仪表板

资源管理进展

另一个使使用Kubernetes支持大数据工作负载变得更容易的因素是Kubernetes和大数据软件中资源管理的发展。例如,考虑调度:一些大数据软件平台使用YARN或Mesos等集群管理器来帮助将任务分配到资源。雷竞技rabet官网尽管这些集群管理器比基本的独立管理器更先进,但它们不是为kubernet而设计的——设置负载平衡和队列的复杂性使得在Kubernetes中使用这些调度器很困难。结果带来的一个挑战是,将同一个集群用于并发应用程序,例如两个不同的Spark集群,意味着您被迫在依赖隔离和性能隔离方面做出妥协。

Kubernetes和大数据解决方案的最新更新使得利用Kubernetes的资源管理与这些解决方案成雷电竞官网进入为可能,甚至是有利的。以Spark为例。Spark最近推出(目前处于试验阶段)支持使用Kubernetes作为调度程序将此前需要第三方插件的东西正规化。这种支持允许您使用Kubernetes来帮助将Spark任务调度到资源,利用Kubernetes内置的资源管理、隔离和负载平衡。雷竞技rabet官网这提供了重要的在Spark中使用其他调度程序的改进,从而更容易同时运行多个版本的Spark和其他大数据工具,共享不同任务的节点,而无需静态划分节点,并协同调度实时和批处理工作负载。

性能

Kubernetes调度器在成熟度和复杂性方面的进步解决了另一个常见问题——Kubernetes能否提供大数据处理所需的性能。正如AWS最近的一篇博客文章所描述的Spark在Kubernetes上的基准测试例如,使用Kubernetes调度器的Spark性能实际上可以超过Spark中更常用的其他调度器的性能。使用TPC-DS基准测试,AWS团队观察到,与使用YARN相比,使用Kubernetes作为调度器时,性能提高了5%。

迈出下一步

一旦你决定要使用Kubernetes来支持你的大数据部署,重要的是要确保你利用了可用的知识、工具和技术,使之尽可能轻松。首先,你可以从阅读其他人是如何做的开始,例如,Target是如何部署的Apache Cassandra在Kubernetes上或如何Adobe开始在Kubernetes上使用Apache Kafka

在接下来的文章中,我们将深入研究在Kubernetes上运行大数据解决方案,包括我们的客户正在做的一些方式,以及他们如何使用NetApp的雷电竞官网进入Spot技术来帮助他们完成这些工作。如果你想马上了解更多关于这方面的知识,一个开始的地方是查看海洋,我们为Kubernetes和容器自动化和优化云基础设施的解决方案。为了更深入地了解,并了解如何使用我们的免费试用,请看一下海洋的文档还有我们的辅导课用Kubernetes设置Apache Spark

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