通过 SQL Server 大数据群集部署的资源

适用范围:SQL Server 2019 (15.x)

重要

Microsoft SQL Server 2019 大数据群集附加产品将停用。 对 SQL Server 2019 大数据群集的支持将于 2025 年 2 月 28 日结束。 具有软件保障的 SQL Server 2019 的所有现有用户都将在平台上获得完全支持,在此之前,该软件将继续通过 SQL Server 累积更新进行维护。 有关详细信息,请参阅公告博客文章Microsoft SQL Server 平台上的大数据选项

本文介绍了 SQL Server 大数据集部署的资源。

大数据群集根据部署配置文件来部署 Pod。 有关详细信息,请参阅默认配置

本文介绍了使用 aks-dev-test-ha 配置文件部署的 Pod,并包括 Spark 池。 查询 Kubernetes,以查看群集中部署的 Pod。 下面的示例返回特定命名空间下的 Pod 列表。

kubectl get pods -n <namespace>

<namespace> 替换为大数据群集的名称。

有关详细信息,请参阅如何在 Kubernetes 上部署 SQL Server 大数据群集

下图显示了大数据集中部署的组件:

big-data-cluster-diagram

若要了解体系结构,请参阅 SQL Server 大数据群集简介

已部署的 Pod

下表列出了部署在大数据群集中的 Pod。

名称 区域
control-<nnnn> 控制
controldb-<#> 控制
controlwd-<nnnn> 控制
logsdb-<#> 控制
logsui-<nnnn> 控制
metricsdb-<#> 控制
metricsdc-<nnnn> 控制
metricsui-<nnnn> 控制
mgmtproxy-<nnnn> 控制
zookeeper-<#> 控制
dns-<nnnn> 控制
master-<#n> 主实例
operator-<nnnn> 主实例
compute-<#n>-<#m> 计算池
data-<#>-<#> 数据池
storage-<#>-<#> 存储池
nmnode-<#>-<#> 存储池
sparkhead-<#> 存储池
appproxy-<#m> 应用程序池
gateway-<#> 网关服务

并非每个大数据群集中都包含所有 Pod。 具有高可用性的部署或 Active Directory 集成包含特定的 Pod。

高可用性特定的 Pod:

  • operator-<nnnn>
  • zookeeper-<#>

Active Directory 特定的 Pod:

  • dns-<nnnn>

以下部分介绍了 Pod,并列出每个 Pod 中的容器。

控制

控制 Pod 提供控制服务。

Pod 名称 Count Kubernetes 控制器类型 容器
control-# 1 ReplicaSet - controller

- security-support

- fluentbit
controldb 1 StatefulSet - mssql-server

- fluentbit
controlwd 1 ReplicaSet - controlwatchdog
logsdb-# 1 StatefulSet - elasticsearch
logsui 1 ReplicaSet - kibana
metricsdb-# 1 StatefulSet - influxdb
metricsdc 每个 Kubernetes 节点 1 个。 DaemonSet - telegraf
metricsui-nnnn 1 ReplicaSet - grafana
mgmtproxy-nnnn 1 ReplicaSet - service-proxy

- fluentbit
dns-nnnn Active Directory 集成 0 或 1 个 ReplicaSet - dns

- fluentbit

主实例

master-<#n> 是 SQL Server 主实例。

  • 通过 DDL 管理数据池
  • 通过 DML 操作数据池中的数据
  • 将分析查询执行卸载到数据池
Pod 名称 Count Kubernetes 控制器类型 容器
master-<#n> 高可用性 1 个或更多。 StatefulSet - mssql-server

- fluentbit

- collectd

- mssql-ha-supervisor *
operator* 高可用性 0 或 1 个 ReplicaSet - mssql-ha-operator

* 仅限高可用性部署。 运算符实现并注册 SQL Server 和可用性组资源的自定义资源定义。 部署运算符时,它将自身注册为侦听器,以接收有关在 Kubernetes 群集中部署 SQL Server 资源的通知。 mssql-ha-supervisor 支持可用性组。

每个 master Pod 都包含一个 SQL Server 实例。 一个高可用性部署包括 3 个 Pod。 每个 Pod 包含一个 SQL Server 实例,其中包含 SQL Server Always On 可用性组中的数据库。

根据工作负载,在部署时包括其他 Pod。

计算池

计算池提供用于计算的 SQL Server 实例。

Pod 名称 Count Kubernetes 控制器类型 容器
compute-<#n>-<#m> 1 个或更多。 StatefulSet - mssql-server

- fluentbit

- collectd
  • #n 标识计算池。
  • #m 标识池中的实例 ID。

计算池 SQL Server 实例是无状态的。 它们只需要 tempdb 的存储。

根据工作负载,在部署时包括其他 Pod。

数据池

数据池提供用于存储和计算的 SQL Server 实例。

Pod 名称 Count Kubernetes 控制器类型 容器
data-<#n>-<#m> 0 个或更多 StatefulSet - mssql-server

- fluentbit

- collectd
  • #n 标识数据池。
  • #m 标识池中的实例 ID。

根据工作负载,在部署时包括其他 Pod。

存储池

存储池通过 Spark 提供数据引入、在 HDFS 中存储、通过 HDFS 和 SQL Server 终结点提供数据访问。

Pod 名称 Count Kubernetes 控制器类型 容器
storage-0-# 1 个或更多。 根据工作负载,在部署时包括其他 Pod。 StatefulSet - hadoop

- mssql-server

- fluentbit

nmnode-0-# 高可用性 1 个或更多 StatefulSet - hadoop

- fluentbit
sparkehead-# 高可用性 1 个或更多 StatefulSet - hadoop-yarn-jobhistory

- hadoop-livy-sparkhistory

- hadoop-hivemetastore

-- fluentbit
zookeeper 高可用性 0 或 3 个。 StatefulSet - zookeeper

- fluentbit

应用程序池

应用程序池包含在一些测试配置文件中。 应用程序池承载应用程序服务代理,这些代理在部署大数据群集的应用程序时定义。

appproxy 是位于应用程序池应用程序前面的 Web API。 它对用户进行身份验证,然后将请求路由到应用程序。

Pod 名称 Kubernetes 控制器类型 容器
appproxy ReplicaSet - app-service-proxy

- fluentbit

有关详细信息,请参阅大数据群集上的应用程序部署简介

根据工作负载,在部署时包括其他 Pod。

网关服务

网关服务提供到 Spark、HDFS、Yarn、Yarn UI 和 Spark UI 的 Knox 网关。

Pod 名称 Kubernetes 控制器类型 容器
gateway-<#> StatefulSet - knox

- fluentbit

仅支持一个网关。

开放源代码容器引用

有关特定开源项目和版本,请参阅开源软件参考

后续步骤

若要了解有关 SQL Server 大数据群集 的详细信息,请参阅以下资源: