如何自定义配置 HDInsight 自动扩缩功能

下面是一些可在根据客户需来自定义配置 HDInsight 自动缩放功能时进行调整的配置。

备注

这适用于 4.0 和 5.0 堆栈。

配置

配置 说明 默认值 适用的群集/自动扩缩类型 备注
yarn.4_0.graceful.decomm.workaround.enable 启用 YARN 正常停用 加载件自动扩缩 - True 计划自动扩缩 - True Hadoop/Spark 如果禁用此配置,YARN 会直接将节点从运行状态置于停用状态,而无需等待使用该节点的应用程序完成。 此操作可能会导致应用程序在节点停用时突然终止。 在此处阅读有关 YARN 中作业复原能力的详细信息
yarn.graceful.decomm.timeout YARN 正常停用超时(以秒为单位) Hadoop 加载件自动扩缩 - 3600 Spark 计划自动扩缩 - 1 Hadoop 计划自动扩缩 - 1Spark 加载件自动扩缩 - 86400 Hadoop/Spark 正常停用超时最好是根据客户应用程序的情况来进行配置。 例如,如果应用程序具有许多映射器和少量减速器,总共可能需要 4 小时才能完成,则此配置需要设置为 4 小时以上
yarn.max.scale.up.increment 一次性纵向扩展的最大节点数 200 Hadoop/Spark/Interactive Query 该配置在 200 个节点的情况下进行了测试。 建议不要将此值设置为超过 200。 如果客户希望不要那么激进的进行纵向扩展,则可以将其设置为小于 200 的值
yarn.max.scale.down.increment 一次性纵向扩展的最大节点数 50 Hadoop/Spark/Interactive Query 最多可以设置为 100
nodemanager.recommission.enabled 用于在向群集添加新节点之前启用所停用 NM 的功能 True 基于 Hadoop/Spark 负载的自动扩缩功能 禁用此功能可能会导致群集利用率不足。 可能有处于停用状态的节点,这些节点没有要运行的容器,但正在等待应用程序完成,即使集群中还有更多负载。 注意: 适用于 2304280205 或更高版本上的映像
UnderProvisioningDiagnoser.time.ms 群集触发纵向扩展所需的预配过度持续时间(以毫秒为单位) 180000 基于 Hadoop/Spark 负载的自动扩缩功能 -
OverProvisioningDiagnoser.time.ms 群集触发纵向缩减所需的预配过度持续时间(以毫秒为单位) 180000 基于 Hadoop/Spark 负载的自动扩缩功能 -
hdfs.decommission.enable 在触发停用节点管理器之前,停用数据节点。 HDFS 不支持任何正常停用超时,因此这是即时的 True 基于 Hadoop/Spark 负载的自动扩缩功能 在停用节点管理器之前停用数据节点,这样特定的数据节点就不会用于存储随机顺序的数据。
scaling.recommission.cooldown.ms 重新启动后的冷却期,在此期间不对指标进行采样 120000 基于 Hadoop/Spark 负载的自动扩缩功能 此冷却期可确保群集有一些时间将负载重新分配给新重新启用的 nodemanagers。 注意: 适用于 2304280205 或更高版本上的映像
scale.down.nodes.with.ms 纵向缩减运行 AM 的节点 false Hadoop/Spark 如果为 AM 配置了足够的重新尝试次数,则可以启用。 适用于应用程序长时间运行的情况(例如 spark 流式处理),如果负载减少,这些应用程序可能会被终止以纵向缩减群集。 注意: 适用于 2304280205 或更高版本上的映像

备注

  • 可以使用在头节点上运行的脚本作为脚本操作来更改上述配置,请使用此自述文件来了解如何运行该脚本。
  • 建议客户在迁移到生产环境之前在较低等级的环境中测试配置。
  • 如何检查映像版本

后续步骤

阅读缩放准则,了解有关手动缩放群集的准则