最佳实践:集群策略

预览

此功能已在公共预览

集群政策为管理员提供在Databricks工作区中创建集群资源的控制。有效使用集群策略允许管理员:

  • 强制执行标准化的集群配置。

  • 防止过度使用资源,控制支出。

  • 通过正确标记集群来确保准确的退款。

  • 通过为用户提供针对特定工作负载的预配置集群配置,方便分析和处理。

有关集群策略和配置建议的介绍,请查看Databricks集群策略视频:

与有效的登录、审批和退款流程相结合,集群策略可以成为Databricks平台治理的基本组件。bob体育客户端下载本指南提供了建议和最佳实践,以帮助您创建成功的计划,将集群策略集成到治理框架中。

由于治理对于每个组织的需求和现有治理基础设施都是独一无二的,因此本文首先介绍通常适用于集群策略的建议。本文的最后一部分讨论了解决您在环境中可能遇到的挑战的特定策略。

本文讨论了确保成功实施集群治理的以下最佳实践和建议:

  • 创建计划,分阶段引入集群策略,以帮助用户过渡到受治理的环境。

  • 为集群策略推出的每个阶段创建一个交流更改的计划。

  • 确定集群治理面临的挑战,并实施应对这些挑战的策略。

集群策略推出

实现集群策略可以显著改变用户体验。Databricks推荐一种分阶段的方法来帮助引导用户完成过渡:

  • 告知即将发生的更改,并为用户提供测试集群配置的机会。

  • 执行软滚出。

  • 逐步引入进一步的政策变更。

  • 执行硬转换到完全受治理的环境。

分阶段推出允许用户熟悉新策略,并防止现有工作负载中断。下图是这个推荐过程的一个例子:

集群策略推出计划

以下章节将提供关于这些阶段的更详细信息:

交流和测试集群策略

通过与用户沟通即将发生的更改来开始这个过程。沟通计划应包括:

  • 关于即将到来的变化的细节。

  • 为什么会发生这些变化。

  • 用户需要做什么来确保工作负载的成功转换。

  • 如何提供关于更改的反馈。

  • 展示的每个阶段的时间轴。

  • 在分阶段推出的每个阶段开始时,沟通与该阶段相关的进一步细节。

下图提供了分阶段推出的示例通信计划:

集群策略通信计划

您的计划可能有不同的阶段,这取决于您的环境和集群策略策略。本例包括四个阶段:

  • 阶段1包括与用户沟通计划并开始测试。用户必须有机会在符合新策略的集群上测试他们当前和预期的工作负载。您希望在流程的早期识别现有和计划的工作负载的任何问题。

  • 阶段2继续测试,同时推出集群标记策略。

  • 阶段3引入集群类型,在本例中使用t恤大小指定集群,例如,小型、大型或超大集群类型。

  • 阶段4是集群策略的最终推出以及完整的用户文档。

用户还应该有机会在初始阶段使用计划的集群配置测试他们的工作负载。此测试可以帮助识别在使用建议策略时存在问题的现有工作负载。

引入集群策略的注意事项

在规划集群策略的初始部署时,请考虑当前的管理策略。特别是,要考虑您是从一个限制用户创建集群的环境转移到一个更开放的环境。

严格的环境

在用户没有创建集群的权限的环境中,首先推出限制策略,并为用户制定支持计划。实现计划可以是基于计算机的培训、研讨会或文档。为用户提供关于配置集群的最佳实践的指导,将提高他们充分利用平台的能力。bob体育客户端下载当用户表现出对平台的遵从性和能力时,政策可以放宽。bob体育客户端下载

不受限制的环境

在不受限制的环境中应用策略可能更具挑战性。一些现有的用例和集群几乎总是不受新策略的限制,因此在测试或软推出阶段识别这些用例和集群是至关重要的。

具有集群创建权限或无限制策略访问权限的用户将在整个软推出过程中保持对该策略的访问权限,以确保所有工作负载继续正常工作。用户应该使用软推出来测试他们所有的工作负载,这些新策略将提供给他们。

一定要给用户提供一个地方来提交关于策略的反馈。当出现问题时,与用户一起改进策略或定义新策略。

最后推出

当截止日期到达时,删除对受限制用户的不受限制策略的访问。集群策略的推出现在应该完成了。

具体挑战与策略

下面是应用集群策略来解决特定挑战的示例。其中许多策略可以同时使用,但需要在所有策略中应用每种策略。例如,如果使用标签强制策略和t恤大小策略,每个t恤策略还需要一个custom_tag。*政策。

标签执行

挑战

用户可以自由地创建集群,并且没有机制强制他们应用所需的标记。

解决方案

  1. 撤销集群创建权限从用户。

  2. 向任何适用的集群策略添加集群标记规则。要将群集标记规则添加到策略中,请使用custom_tags。<标记名称>属性。该值可以是an下面的任何值无限的政策,也可以由固定允许列表块列表正则表达式,或范围政策。例如,为了确保正确的退款和成本归属,执行aCOST_CENTER在每个策略上标记,限制为允许的成本中心值列表:

    “custom_tags。COST_CENTER”“类型”“allowlist”“价值观”:[“9999”“9921”“9531”]}}

    使用此策略的任何用户都必须填写COST_CENTER标记9999、9921或9531以启动集群。

  3. 将集群策略分配给应该能够对这三个成本中心收费的用户。策略可以在用户或组级别上通过集群策略界面或者是补丁/权限/ cluster-policies / {cluster_policy_id}端点。下面的示例请求体将策略分配给销售部门:

    “access_control_list”“user_name”“user@mydomain.com”“all_permissions”“permission_level”“CAN_USE”},“group_name”“销售”“all_permissions”“permission_level”“CAN_USE”

没有经验的用户

挑战

用户不熟悉集群或云基础设施配置,或者对集群创建选项感到不知所措。

解决方案

使用集群策略定义“t恤”大小的集群配置,例如,小型、中型或大型集群。

  1. 为每种t恤尺码制定策略。t恤大小策略向用户指示相对的集群大小,可以是灵活的模板,也可以是零选项配置。零选项或低选项策略通常会有固定以及隐藏的策略规则。下面的示例为对象定义一个DBR 7.3的固定值策略spark_version.设置隐藏的标记为true将确保此选项对用户不可见。

    “spark_version”“类型”“固定”“价值”“7.3.x-scala2.12”“隐藏”真正的}}

    在定义灵活的模板时,可以使用范围块列表块列表正则表达式,无限的政策用于设置上限边界、非可选字段和半限制策略元素的策略。下面的示例定义了一个策略,该策略允许自动伸缩节点最多为25个。您可以使用此定义设置每个t恤尺寸的上限,同时提供一些灵活性。要查看集群模板方法的更多详细信息,请参见资源占用过多

    “autoscale.max_workers”“类型”“范围”“执行”“25”“defaultValue”5}}
  2. 将该策略分配给应该允许创建t恤大小集群的用户。可以通过集群策略UI或集群策略权限API在用户或组级别分配策略。例如,通过UI将此策略分配给所有用户:

    1. 进入集群策略并选择编辑

    2. 选择权限选项卡。

    3. 选择所有用户选择下在下拉列表中。

      为所有用户分配策略
  3. 撤销必须只使用这些新策略的组对不受限制策略的访问权。一旦使用了集群策略,拥有“集群创建”权限的用户就可以访问不受限制的策略。对于不应该拥有该权限的用户,撤销该权限非常重要。

    要撤消集群创建权限,请参见配置创建集群权限

特定于用例的策略

挑战

一些工作负载或分析与现有策略不兼容,或者用户不知道某些工作负载类型的正确集群配置。

解决方案

如果发现工作负载不能很好地与现有策略配合使用,通常最好创建专门针对这些工作负载的新策略,而不是扩展现有策略。

为了帮助用户使用这些策略创建集群,它可以帮助创建针对特定用例调优的策略。为这些策略分配描述性名称,以帮助用户识别它们。例如,如果工作负载将查询支持谓词下推的数据源,则最佳实践是构建一个特定的策略,该策略强制使用低或零工作者最小值进行自动伸缩。此策略将确保在等待数据源计算查询的下推组件时,云提供商和Databricks的成本不会不必要地增加。

  1. 创建执行特定于用例的最佳实践的策略。此示例定义了一个具有固定值的策略0对于最低数量的工人。该策略还强制集群将自动伸缩,满足谓词下推示例的最佳实践。

    “autoscale.min_workers”“类型”“固定”“价值”“0”“隐藏”}}
  2. 将策略分配给需要为这些用例构建集群的用户。方法在用户或组级别上分配策略集群策略界面或者是权限API 2.0.例如,通过UI将此策略分配给数据科学家组:

    1. 进入集群策略并选择编辑

    2. 选择权限选项卡。

    3. 要将策略分配给特定的团队,请在选择用户或组下拉。

      为组分配策略

资源占用过多

挑战

用户正在创建不必要的大型集群,消耗过多且昂贵的资源。这通常是由以下原因引起的:

  • 激活自动缩放失败。

  • 自动终止窗口使用错误。

  • 过高的最小工作节点数。

  • 昂贵的实例类型。

解决方案

将集群策略与内部审批流程相结合,可以实现对资源的控制,同时在必要时提供对大型计算资源的访问。

  1. 建立一个审查过程,以授予更大或更灵活的策略访问权。审查流程应该有一个收集信息的表单,该表单支持对更大或更灵活的集群配置的需求。平台所有bob体育客户端下载权团队应该评估这些信息,以决定如何支持工作负载需求。下图展示了使用t恤尺寸的审批流程示例:

    策略分级过程
  2. 用更少的约束创建更灵活的策略,并专注于控制像标签这样的治理项目。灵活政策的一个例子:

    “autoscale.min_workers”“类型”“范围”“执行”20.“defaultValue”2},“autoscale.max_workers”“类型”“范围”“执行”One hundred.“defaultValue”8},“autotermination_minutes”“类型”“范围”“执行”120“defaultValue”60},“node_type_id”“类型”“过滤清单”“价值观”“z1d.12xlarge”“z1d.6xlarge”“r5d.16xlarge”“r5a.24xlarge”“c5.24xlarge”],“defaultValue”“i3.xlarge”},“driver_node_type_id”“类型”“过滤清单”“价值观”“z1d.12xlarge”“z1d.6xlarge”“r5d.16xlarge”“r5a.24xlarge”“c5.24xlarge”],“defaultValue”“i3.xlarge”},“spark_version”“类型”“固定”“价值”“7.3 -scala2.12”“隐藏”真正的},“enable_elastic_disk”“类型”“固定”“价值”真正的“隐藏”真正的},“custom_tags.team”“类型”“固定”“价值”“产品”

    该策略提供了灵活性,允许用户:

    • 从一系列实例类型中进行选择,而不是一些过于昂贵的实例类型。

    • 配置最多100个节点的集群。

    • 设置自动终止时间为120分钟。

    它还设置了合理的限制,并通过以下方式确保治理:

    • 为这个团队强制一个标签。

    • 需要自动定量。

    • 启用弹性盘自动伸缩。

    • 指定Databricks运行时版本。

    此策略非常适合经验丰富的用户,他们需要对各种集群配置上的作业进行调优,并且是与审批流程相关联的策略的一个很好的示例。

  3. 将升级和审批流程编制成文档,并与用户共享。发布关于识别可能需要更大灵活性或更大集群的工作负载类型的指南也很有帮助。

  4. 批准用户后,将策略分配给他们。策略可以在用户或组级别上通过集群策略界面或者通过向权限API 2.0

    “access_control_list”“user_name”“users_email@yourdomain.com”“permission_level”“CAN_USE”

BOB低频彩

要了解BOB低频彩关于数据上的集群策略的更多信息,请参见管理集群策略还有我们关于集群策略的博客:允许使用集群策略进行完全管理控制的简单集群创建