创建池

本文描述如何使用UI创建池。如何使用Databricks CLI创建存储池,请参见实例池CLI.要了解如何使用REST API创建池,请参见实例池API 2.0

需求

  • 您必须具有创建存储池的权限;看到池访问控制

  • 您必须将以下权限添加到与用于创建AWS帐户的IAM角色或密钥相关联的访问策略中:

    “行动”“ec2: AssociateIamInstanceProfile”“ec2: DescribeIamInstanceProfileAssociations”“ec2: DisassociateIamInstanceProfile”“ec2: ReplaceIamInstanceProfileAssociation”“ec2: DeleteTags”

有关权限的完整列表以及关于如何更新现有IAM角色或密钥的说明,请参见创建跨帐号IAM角色

如果不添加这些权限,将无法启动附加到池的集群。

通过用户界面创建池

使用实例创建存储池。

  1. 点击计算图标计算在侧栏中。

  2. 单击选项卡。

  3. 单击创建池按钮。

  4. 指定池配置。

  5. 单击创建按钮。

将集群挂载到池

属性将集群附加到池创建集群界面选项中选择存储池驱动程序类型工作类型下拉菜单。每个下拉列表的顶部列出了可用的池。驱动节点和工作节点可以使用相同的池,也可以使用不同的池。

如果你使用集群API,你必须指定driver_instance_pool_id对于驱动节点和instance_pool_id对于工作节点。

池大小和自动终止

在创建池时,为了控制池的大小,可以设置三个参数:最小空闲实例、最大容量和空闲实例自动终止。

最小空闲实例

池保持空闲的最小实例数。不管自动终止设置如何,这些实例都不会终止。如果集群消耗池中的空闲实例,Databricks会提供额外的实例以保持最小值。

最大容量

池可以提供的最大实例数。如果设置,则此值约束所有实例(闲置+已使用)。如果使用池的集群在此期间请求的实例多于此数目自动定量时,请求失败INSTANCE_POOL_MAX_CAPACITY_FAILURE错误。

这个构型是可选.Databricks建议仅在以下情况下设置该值:

  • 您有一个实例配额必须保持下。

  • 您希望保护一组工作不影响另一组工作。例如,假设您的实例配额是100,并且您的团队A和B需要运行作业。您可以创建一个最多50人的池A和一个最多50人的池B,这样两个团队就可以公平地共享100人的配额。

  • 你需要限制成本。

空闲实例自动终止

时间以分钟为单位高于设置的值最小空闲实例实例在被池终止之前可以是空闲的。

实例类型

池由为新集群准备的空闲实例和运行集群正在使用的实例组成。所有这些实例都具有相同的实例提供程序类型,是在创建池时选择的。

不能编辑池的实例类型。附加到池的集群对驱动程序和工作节点使用相同的实例类型。不同的实例类型适用于不同的用例,例如内存密集型或计算密集型工作负载。

Databricks总是在停止支持某个实例类型之前提供一年的弃用通知。

Preloaded Databricks运行时版本

通过选择一个Databricks Runtime版本来加载池中的空闲实例,可以加快集群启动的速度。如果用户在创建由该池支持的集群时选择了该运行时,那么该集群将比不使用预加载Databricks runtime版本的由池支持的集群更快地启动。

将此选项设置为没有一个减慢集群启动速度,因为这会导致Databricks Runtime版本按需下载到池中的空闲实例。当集群释放池中的实例时,Databricks Runtime版本仍然缓存在这些实例上。使用相同Databricks Runtime版本的下一个集群创建操作可能会受益于这种缓存行为,但不能保证一定会受益。

池标签

池标记允许您轻松监控组织中各个组使用的云资源的成本。在创建池时,可以将标记指定为键-值对,Databricks将这些标记应用于虚拟机和磁盘卷等云资源DBU使用报告

为了方便起见,Databricks将三个默认标记应用到每个池:供应商DatabricksInstancePoolId,DatabricksInstancePoolCreatorId.您还可以在创建池时添加自定义标记。您最多可以添加43个自定义标记。

自定义标记

要向池中添加其他标记,请导航到选项卡标签的底部创建池页面。单击+添加按钮,然后输入键-值对。

池支持的集群从池配置中继承默认和自定义标记。有关池标记和集群标记如何协同工作的详细信息,请参见使用集群和池标记监视使用情况

AWS的配置

在配置池的AWS实例时,可以选择可用分区、是否使用现货实例和最大现货价格,以及EBS卷类型和大小。所有附加到池的集群都继承这些配置。

可用性区域

如果您的组织在特定可用分区中购买了预留实例,那么为池选择特定可用分区是非常有用的。阅读更多AWS可用分区

现货实例

您可以指定是否希望池使用现货实例。池可以是所有现货实例,也可以是所有按需实例。

您还可以设置启动现货实例时要使用的最大现货价格。这是按相应的按需价格的百分比设定的。默认情况下,Databricks将最大现货价格设置为按需价格的100%。看到AWS现货定价

EBS卷

Databricks为每个实例提供EBS卷,如下所示:

  • 30gb未加密的EBS实例根卷,仅供主机操作系统和Databricks内部服务使用。

  • Spark worker使用的150gb加密的EBS容器根卷。存放Spark服务和日志。

  • (仅限HIPAA)一个75 GB加密的EBS工作日志卷,用于存储Databricks内部服务的日志。

添加EBS shuffle卷

如果需要添加shuffle卷,请选择通用SSDEBS卷类型下拉列表。

缺省情况下,Spark shuffle输出到实例本地磁盘。对于没有本地磁盘的实例类型,或者如果希望增加Spark随机存储空间,可以指定额外的EBS卷。当运行产生大量shuffle输出的Spark作业时,这对于防止磁盘空间耗尽特别有用。

Databricks为按需和现场实例加密这些EBS卷。阅读更多AWS EBS卷

AWS EBS限制

确保您的AWS EBS限制足够高,以满足所有池中所有实例的运行时需求。有关默认EBS限制以及如何更改它们的信息,请参见Amazon弹性块存储(EBS)限制

自动缩放本地存储

如果不想在池创建时分配固定数量的EBS卷,请使用自动伸缩本地存储。通过自动伸缩本地存储,Databricks可以监视池的Spark worker上可用的空闲磁盘空间的数量。如果一个worker的磁盘容量开始过低,Databricks会在它耗尽磁盘空间之前自动将一个新的EBS卷附加到这个worker上。每个实例(包括实例的本地存储)所附加的EBS卷的总磁盘空间不超过5 TB。

如果需要配置自动伸缩存储,请选择启用自动缩放本地存储

只有当实例返回到AWS时,才会分离附加到实例的EBS卷。也就是说,只要实例还在池中,就不会从实例中分离EBS卷。为了减少EBS的使用,Databricks建议配置池大小和自动终止

请注意

  • Databricks使用吞吐量优化HDD (st1)扩展实例的本地存储。的默认AWS容量限制这些卷的价格是20 xb。为了避免达到此限制,管理员应该根据自己的使用需求请求增加此限制。

  • 如果您想使用自动伸缩本地存储,用于创建帐户的IAM角色或密钥必须包含权限ec2: AttachVolumeec2: CreateVolumeec2: DeleteVolume,ec2: DescribeVolumes.有关权限的完整列表以及关于如何更新现有IAM角色或密钥的说明,请参见创建跨帐号IAM角色

删除存储池

删除池将终止池的空闲实例并删除其配置。如果需要删除存储池,单击删除图标单击“池”页面操作中的图标。删除存储池:

  • 连接到池的正在运行的集群将继续运行,但在调整大小或升级期间不能分配实例。

  • 连接到池的终止集群将无法启动。

重要的

您无法撤消此操作。