IBM Cloud Docs
无服务器实例中的体系结构和概念

无服务器实例中的体系结构和概念

本主题显示了 IBM Analytics Engine 无服务器实例的体系结构,并描述了一些关键概念和定义。

实例体系结构

IBM Analytics Engine 服务通过使用 IBM Cloud® Identity and Access Management (IAM) 进行管理。 作为 IBM Cloud 帐户所有者,您将被分配帐户管理员角色。

通过 IBM Cloud 帐户,您可以使用以下命令来供应和管理无服务器 Analytics Engine 实例:

  • IBM Cloud 控制台
  • CLI
  • REST API

控制平面中的 Analytics Engine 微服务,通过 API 网关处理实例创建,容量供应,定制和运行时管理,而 Spark 应用程序在数据平面中的隔离名称空间中运行。 您提交的每个 Spark 应用程序都在其自己的 Spark 集群中运行,Spark 集群是 Spark 主节点和执行程序节点的组合。 请参阅 隔离和网络访问(isolation and network access)

每个 Analytics Engine 实例都与实例中运行的所有应用程序可访问的实例相关数据的 IBM Cloud Object Storage 实例相关联。 目前,所有 Spark 事件也存储在此实例中。 Spark 应用程序日志聚集到 Log Analysis 日志服务器。

显示 IBM Analytics Engine 无服务器实例体系结构。
图 1。 IBM Analytics Engine

关键概念

通过 IBM Analytics Engine 无服务器实例,您可以根据需要启动 Apache Spark 集群,并定制 Spark 运行时和缺省 Spark 配置选项。

以下部分描述了供应无服务器实例时的关键概念。

IBM Analytics Engine 服务实例

IBM Cloud® 服务是云扩展,提供可供使用的功能,例如用于运行代码的数据库,消息传递和 Web 软件,或者应用程序管理或监视功能。 服务通常不需要安装或维护,并且可组合在一起来创建应用程序。 服务实例是由为特定应用程序或服务保留的资源组成的实体。

从目录创建 IBM Analytics Engine 时,将为服务实例提供您选择的名称,选择要与实例关联的缺省 Spark 运行时,并提供要与实例配合使用的缺省 Spark 配置。 此外,您需要指定 Instance home,这是仅针对实例相关数据附加到实例的存储器。

  • 创建 IBM Analytics Engine 服务实例时,除非运行 Spark 应用程序或访问 Spark 历史服务器,否则不会产生任何成本。
  • 如果 IBM Cloud Object Storage (如果通过公共端点进行访问) 以及当您启用将 IBM Analytics Engine 日志转发到 IBM Log Analysis时,将产生成本。
  • 对于每个 IBM Cloud® 帐户允许的服务实例数以及可用于任何给定 IBM Analytics Engine 服务实例的 CPU 和内存量,存在缺省限制。 请参阅 Analytics Engine 实例的限制和配额。 如果需要调整这些限制,请开具 IBM 支持凭单。
  • 可以在 IBM Analytics Engine 服务实例中运行的 Spark 应用程序数量没有限制。

缺省 Spark 运行时

在实例供应时,可以选择要使用的 Spark 版本。 目前,您可以在 Spark 3.3 和 Spark 3.4之间进行选择。 Spark 3.3 被视为缺省版本。

运行时包含开放式源代码 Spark 二进制文件,配置可帮助您快速继续创建实例并在实例中运行 Spark 应用程序。 除了 Spark 二进制文件,运行时还包括地理空间,数据跳过和 Parquet 模块化加密库。

在所有 Spark 运行时版本中,您可以提交使用以下语言编写的 Spark 应用程序:

  • Scala
  • Python
  • R

下表显示了 Spark 运行时版本和运行时语言版本。

表 1. Spark 运行时版本和运行时语言版本
Spark 版本 Apache Spark 发行版 status 支持的语言
3.1 3.1.2 已除去 (不受支持) Java 8,Scala 2.12,Python 3.10 和 R 4.2
3.3 3.3.2 缺省 Java 11,Scala 2.12,Python 3.10 和 R 4.2
3.4 3.4.1 最新 Java 11,Scala 2.12,Python 3.10 和 R 4.2

将定期升级语言版本,以确保运行时不受任何安全漏洞的影响。 提交应用程序时,您可以始终覆盖 Spark 运行时版本。 有关要添加到有效内容的详细信息,请参阅 在提交应用程序时传递运行时 Spark 版本

实例主页

实例主目录是仅针对实例相关数据 (例如,定制应用程序库和 Spark 历史记录事件) 连接到实例的存储器。 目前,实例主目录仅接受 IBM Cloud Object Storage。 此实例可以是 IBM Cloud® 帐户中的实例,也可以是来自其他帐户的实例。

使用 IBM Cloud 控制台供应实例时,会自动发现 IBM Cloud® 帐户中的 IBM Cloud Object Storage 实例,并将其显示在列表中以供您选择。 如果在您的帐户中找不到 IBM Cloud Object Storage 实例,那么可以使用 REST API 在创建实例后更新实例主目录。

创建实例后,无法更改实例主目录。 您只能编辑访问密钥。

缺省 Spark 配置

您可以在供应 Analytics Engine 实例时指定缺省 Spark 配置 (请参阅 供应 IBM Analytics Engine 无服务器实例)。 这些配置将自动应用于在实例上提交的 Spark 应用程序。 您还可以在创建实例后更新配置。 您可以从 Analytics Engine 实例详细信息 页面,Analytics Engine REST APIIAE CLI 中的 配置 部分编辑配置。 在提交 Spark 应用程序时,可以覆盖指定为实例级别缺省值的值。

要了解有关各种 Apache Spark 配置的更多信息,请参阅 Spark 配置

无服务器实例功能部件和执行方法

下表按访问角色和执行方法显示了受支持的无服务器实例功能部件。

表 2 访问角色和执行方法支持的无服务器实例功能部件
操作 访问角色 IBM 控制台 个 API CLI
供应实例 管理员 <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
删除实例 管理员 <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
授予用户许可权 管理员 <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
管理实例主存储器 管理员 <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
配置日志记录 管理员
开发者
Devops
<img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标"> 不可用
提交 Spark 应用程序 管理员
开发者
不可用 <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
查看已提交的 Spark 应用程序的列表 管理员
开发者
DevOps
不可用 <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
停止已提交的 Spark 应用程序 管理员
开发者
DevOps
不可用 <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
定制库 管理员
开发者
不可用 <img src="images/confirm.png" alt=""确认" 图标"> 不可用
访问作业日志 管理员
开发者
DevOps
Log Analysis 控制台中的 确认图标 不适用 不适用
查看实例详细信息; 显示的详细信息可能因访问角色而异 管理员
开发者
DevOps
<img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
管理 Spark 历史记录服务器 管理员
开发者
<img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">
访问 Spark 历史记录 管理员
开发者
DevOps
<img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标"> <img src="images/confirm.png" alt=""确认" 图标">