为基于 Linux 的 HDInsight 群集配置 OS 修补计划
重要
Ubuntu 映像可在发布后的三 个月内用于创建新的 Azure HDInsight 群集。 系统不会自动修补正在运行的群集。 客户必须使用脚本操作或其他机制来修补正在运行的群集。 可以在创建群集后立即运行这些脚本操作并应用安全更新,这是最佳做法。
HDInsight 支持你在群集上执行常见任务,例如安装操作系统补丁、操作系统安全更新和重启节点。 这些任务使用下述两个脚本来完成,这两个脚本可以作为脚本操作运行,并且可以配置参数:
schedule-reboots.sh
- 在群集节点上立即重启或计划重启。install-updates-schedule-reboots.sh
- 安装所有更新、仅安装内核 + 安全更新,或者仅安装内核更新。
注意
脚本操作不会自动应用所有未来更新周期的更新。 每次必须应用新更新以安装更新并重启 VM 时,请运行这些脚本。
准备工作
在部署到生产环境之前,在具有代表性的非生产环境中打补丁。 制定计划,以便在实际打补丁之前对系统进行充分测试。
在与群集的 ssh 会话中,你可能会不时收到消息,其中指出“有安全更新程序可用”。 该消息可能类似于下例:
89 packages can be updated.
82 updates are security updates.
*** System restart required ***
Welcome to Spark on HDInsight.
打补丁是可选的,由你自行决定。
重启节点
脚本 schedule-reboots 设置将要在群集中的计算机上执行的重启的类型。 提交脚本操作时,请将其设置为应用到所有三个节点类型:头节点、辅助角色节点和 zookeeper。 如果未将此脚本应用于某个节点类型,则不会更新或重启该节点类型的 VM。
schedule-reboots script
接受一个数字参数:
参数 | 接受的值 | 定义 |
---|---|---|
要执行的重启类型 | 1 或 2 | 值为 1 表示启用计划重启(计划在 12-24 小时内重启)。 值为 2 表示启用即时重启(在 5 分钟内重启) 如果未提供任何参数,则默认值为 1。 |
安装更新并重启节点
脚本 install-updates-schedule-reboots.sh 提供的选项用于安装不同类型的更新并重启 VM。
install-updates-schedule-reboots
脚本接受两个数字参数,如下表所述:
参数 | 接受的值 | 定义 |
---|---|---|
要安装的更新的类型 | 0、1 或 2 | 值为 0 表示仅安装内核更新。 值为 1 表示安装内核 + 安全更新,为 2 表示安装所有更新。 如果未提供任何参数,则默认值为 0。 |
要执行的重启类型 | 0、1 或 2 | 值为 0 表示禁用重启。 值为 1 表示启用计划重启,为 2 表示启用即时重启。 如果未提供任何参数,则默认值为 0。 用户必须更改输入参数 1 才能输入参数 2。 |
注意
在将某个脚本应用到现有群集后,必须将其标记为持久性脚本。 否则,通过缩放操作创建的任何新节点都将使用默认修补计划。 如果在群集创建过程中应用该脚本,则其会自动持久化。
注意
“计划重启”选项在 12 到 24 小时内自动滚动重启已修补的群集节点,并考虑到高可用性、更新域和容错域方面的考虑因素。 计划重启不会终止正在运行的工作负载,但可能会在节点不可用期间降低群集容量,从而导致处理时间更长。
后续步骤
若要了解使用脚本操作的具体步骤,请参阅使用脚本操作自定义基于 Linux 的 HDInsight 群集中的以下部分: