介绍

库伯内斯的阿帕奇火花操作员

自 2014 年由 Google 推出以来,Kubernetes 与 Docker 本身一起获得了许多人气,自 2016 年以来已成为事实上的集装箱协调器,作为市场标准而建立。在所有主要云中都有云托管all版本。[1] [2] [3] (包括数字海洋阿里巴巴)。

随着这种流行而来是协调器的各种实现和用例,其中包括使用容器执行状态应用程序,包括数据库。

托管协调的数据库的动机是什么?这是一个很好的问题。但是,让我们关注在 Kubernetes 上运行工作负载的Spark 操作员

一个原生Spark运营商的想法出现在2016年,在此之前,你不能运行Spark工作本地,除了一些黑客的替代方案,如运行阿帕奇泽佩林在库伯奈斯或创建你的阿帕奇火花集群在库伯内斯(从GitHub的官方Kubernetes组织)引用Spark工作人员在独立模式

但是,本机执行将更有趣,利用Kubernetes 计划程序负责执行分配资源、提供弹性和更简单的界面来管理 Apache Spark 工作负载。

考虑到这一点,Apache Spark 运营商的开发得到了关注,合并并发布到 2018 年 2 月推出的 Spark 版本 2.3.0 中。

如果您渴望阅读更多有关 Apache Spark 建议的信息,您可以前往Google 文档中发布的设计文档cio.com/article/3211428/what-is-digital-transformation-a-necessary-disruption.html”rel=”nofollow”目标=”_blank”-通过广泛使用的数字转型重塑自己,以便它们具有竞争力,最重要的是,为了在日益活跃的市场中生存,通常可以看到包括大数据、人工智能和云计算在内的方法[1] [2] [3]。

在数据砖块博客(由Apache Spark的创建者创立的公司)中,可以在Databricks博客上阅读在大数据上下文中使用云计算而不是本地服务器的好处之间的有趣比较。

我们看到云计算(即使那些能够负担硬件并在本地运行的公司)被广泛采用,我们注意到,由于数据团队(BI/数据科学/分析)越来越多地选择使用谷歌BigQueryAWS Redshift等工具,因此这些云实现大多没有Apache Hadoop。因此,将 Hadoop 与使用YARN作为资源管理器的唯一意图进行分拆是没有意义的。

另一种方法是使用 Hadoop 群集提供商(如Google DataProcAWS EMR)创建临时群集。仅举几个选项。

为了更好地了解 Spark 运算符的设计,GitHub 上的 GCP文档是一个不费脑筋的文档。

让我们动手吧!

预热发动机

现在,这个词已经传播,让我们得到我们的手,以显示发动机运行。为此,让我们使用:

  • 码头作为库伯内斯的容器引擎Minikube(安装指南),以便利提供Kubernetes(是的,这将是本地执行);
  • 要与 Kubernetes API 交互,必须 kubectl 安装,如果您没有,请按照此处的说明操作。
  • 大于 2.3.0 的 Apache Spark 的编译版本。
    1. 您可以编译源代码,这将需要几个小时才能完成,或者
    2. 在此处下载编译版本(推荐)。
  • 安装必要的工具后,有必要在环境变量中包含 Apache Spark 路径 PATH ,以缓解 Apache Spark 可执行文件的不可执行性。只需运行: