以 Linux 為基礎的 HDInsight 叢集設定 OS 修補排程
重要
Ubuntu 映像在發行後的三個月內就會變成可用於建立新的 Azure HDInsight 叢集。 但系統不會自動修補執行中的叢集。 客戶必須使用指令碼動作或其他機制修補執行中的叢集。 最佳做法是,執行這些指令碼動作,並在叢集建立後立即套用安全性更新。
HDInsight 支援您在叢集上執行一般工作,例如安裝 OS 修補程式、OS 安全性更新,以及節點重新開機。 這些工作是使用下列兩個指令碼來完成,這些指令碼可以當作指令碼動作執行並使用參數進行設定:
schedule-reboots.sh
- 立即重新開機,或在叢集節點上排程重新開機。install-updates-schedule-reboots.sh
- 安裝所有更新、僅限核心 + 安全性更新,或僅安裝核心更新。
注意
指令碼動作並不會在所有未來的更新循環中自動套用更新。 每次要套用更新時,都必須執行指令碼才能安裝更新,然後重新啟動 VM。
如果您使用防火牆進行網路限制,下列 URL 必須位於允許清單中。
準備
在部署到實際執行環境之前,先在代表性的非商業執行環境中執行修補。 制定計畫,以便在實際執行修補之前適當地測試您的系統。
有時,您可能會從叢集的 ssh 工作階段收到訊息,指出已提供安全性更新。 訊息可能如下所示:
89 packages can be updated.
82 updates are security updates.
*** System restart required ***
Welcome to Spark on HDInsight.
您可以自行決定是否選擇修補。
重新啟動節點
指令碼排程重新開機,設定將在叢集機器上執行的重新開機類型。 提交指令碼動作時,請將它設定為三種節點類型全部適用:前端節點、背景工作節點和 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 叢集中的以下章節: