共用方式為


在高可用性設定中部署 HDFS 名稱節點和共用 Spark 服務

適用於:SQL Server 2019 (15.x)

Important

MICROSOFT SQL Server 2019 巨量數據叢集已淘汰。 SQL Server 2019 巨量數據叢集的支援已於 2025 年 2 月 28 日結束。 如需詳細資訊,請參閱 Microsoft SQL Server 平臺上的公告部落格文章和巨量數據選項。

除了使用可用性群組在高可用性設定中部署 SQL Server 主要實例之外,您還可以在巨量數據叢集中部署其他任務關鍵服務,以確保更高的可靠性層級。 您可以設定 HDFS name node 和共用的 Spark 服務,並搭配其他複本分組 sparkhead 。 在此情況下,Zookeeper 也會部署在巨量數據叢集中,用於作為下列服務的叢集協調器和元數據存放區:

  • HDFS 名稱節點
  • Livy 和 Yarn Resource Manager。

Spark 歷程記錄、作業歷程記錄和Hive元數據服務是無狀態服務。 Zookeeper 不涉及確保這些元件的服務健康情況。

針對這些服務部署多個復本會導致可用複本之間工作負載的增強延展性、可靠性和負載平衡。

Note

下列服務會部署為 Pod 中的 sparkhead 容器:

  • Livy
  • Yarn 資源管理器
  • Spark History
  • Job History
  • Hive 元數據服務

下圖顯示 SQL Server 巨量資料叢集中的 Spark HA 部署:

spark-ha-bdc

下圖顯示 SQL Server 巨量資料叢集中的 HDFS HA 部署:

hdfs-ha-bdc

Deploy

如果名稱節點或 Spark 頭節點設定為兩個複本,則您也必須將 Zookeeper 資源設定為三個複本。 在 HDFS 名稱節點的高可用性組態中,兩個 Pod 會裝載這兩個複本。 這些 Pod 是 nmnode-0nmnode-1。 此設定為主動-被動。 一次只有一個名稱節點作用中。 另一個則處於待命狀態,因故障轉移事件而啟用。

您可以使用 aks-dev-test-hakubeadm-prod 內建組態設定檔來開始自訂巨量數據叢集部署。 這些配置檔包含設置資源所需的設定,您可以進一步配置以提升高可用性。 例如,以下是組態檔中的 bdc.json 區段,其與部署 HDFS 名稱節點、Zookeeper 和共用 Spark 資源 (sparkhead) 具有高可用性相關。

{
  ...
    "nmnode-0": {
        "spec": {
            "replicas": 2
        }
    },
    "sparkhead": {
        "spec": {
            "replicas": 2
        }
    },
    "zookeeper": {
        "spec": {
            "replicas": 3
        }
    },
  ...
}

最佳做法是,在生產部署中,您也必須將 HDFS 區塊復寫設定為 3。 此設定已經在aks-dev-test-hakubeadm-prod配置檔中指定。 請參閱組態檔中的 bdc.json 下一節:

{
  ...
  "hdfs": {
      "resources": [
          "nmnode-0",
          "zookeeper",
          "storage-0",
          "sparkhead"
      ],
      "settings": {
          "hdfs-site.dfs.replication": "3"
      }
  },
  ...
}

Known limitations

為 SQL Server 巨量資料叢集中的 Hadoop 服務設定高可用性的已知問題和限制包括:

  • 所有組態都必須在巨量數據叢集部署時指定。 使用 SQL Server 2019 CU1 版本,您無法在部署之後啟用高可用性設定。

Next steps