如何自定义配置 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 或更高版本上的映像 |
阅读缩放准则,了解有关手动缩放群集的准则