配置 SQL Server 大数据群集 - CU9 之前的版本
适用范围: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 2019 大数据群集版本 CU8 及更早版本中,你可以在部署阶段通过部署 bdc.json
文件来配置大数据群集设置。 只能使用 mssql-conf 在部署后配置 SQL Server 主实例。
注意
在 CU9 版本之前以及支持启用配置的群集的之前,只能在部署时配置大数据群集,但 SQL Server 主实例除外,它只能在部署后使用 mssql-conf 进行配置。 有关配置 CU9 及更高版本的说明,请参阅配置 SQL Server 大数据群集。
配置范围
大数据群集配置 CU9 之前的版本具有两个范围级别:service
和 resource
。 这些设置的层次结构也遵循此顺序,即从最高到最低。 BDC 组件将使用在最低范围定义的设置的值。 如果未在给定范围定义设置,则它将继承其更高的父范围中的值。
例如,最好定义 Spark 驱动程序将在存储池和 Sparkhead
资源中使用的默认核心数。 可通过两种方式实现此目的:
- 在
Spark
服务范围指定默认内核值 - 在
storage-0
和sparkhead
资源范围指定默认内核值
在第一种方案中,Spark 服务的所有较低范围的资源(存储池和 Sparkhead
)都将从 Spark 服务默认值继承默认核心数。
在第二种方案中,每个资源将使用在其各自范围中定义的值。
如果在服务和资源范围同时配置了默认内核数,则资源范围的值将替代服务范围值,因为这是用户针对给定设置配置的最低范围。
有关配置的具体信息,请参阅相应文章:
配置 SQL Server 主实例
配置 SQL Server 大数据群集 的主实例。
部署时无法为 SQL Server 主实例配置服务器配置设置。 本文介绍了有关如何配置设置(例如 SQL Server 版本、启用或禁用 SQL Server 代理、启用特定跟踪标志或启用/禁用客户反馈)的临时解决方法。
若要更改任何设置,请执行以下步骤:
创建包括目标设置的自定义
mssql-custom.conf
文件。 以下示例启用 SQL 代理、遥测,为 Enterprise Edition 设置 PID 并启用了跟踪标志 1204.:[sqlagent] enabled=true [telemetry] customerfeedback=true userRequestedLocalAuditDirectory = /tmp/audit [DEFAULT] pid = Enterprise [traceflag] traceflag0 = 1204
将
mssql-custom.conf
文件复制到master-0
Pod 中的mssql-server
容器中的/var/opt/mssql
。 将<namespaceName>
替换为大数据群集名称。kubectl cp mssql-custom.conf master-0:/var/opt/mssql/mssql-custom.conf -c mssql-server -n <namespaceName>
重启 SQL Server 实例。 将
<namespaceName>
替换为大数据群集名称。kubectl exec -it master-0 -c mssql-server -n <namespaceName> -- /bin/bash supervisorctl restart mssql-server exit
重要
如果 SQL Server 主实例在可用性组配置中,请将 mssql-custom.conf
文件复制到所有 master
Pod 中。 请注意,每次重启都会导致故障转移,因此必须确保在停机的时段内进行此活动。
已知的限制
- 以上步骤需要 Kubernetes 群集管理员权限
- 部署后,无法更改大数据群集的 SQL Server 主实例的服务器排序规则。
配置 Apache Spark 和 Apache Hadoop
为了在大数据群集中配置 Apache Spark 和 Apache Hadoop,需要在部署时修改群集配置文件。
大数据群集具有四个配置类别:
sql
hdfs
spark
gateway
sql
、hdfs
、spark
、sql
均为服务。 上述每个服务都对应于名称相同的配置类别。 所有网关配置都将跳到类别 gateway
。
例如,服务 hdfs
中的所有配置都属于类别 hdfs
。 请注意,所有 Hadoop(核心站点)、HDFS 和 Zookeeper 配置都属于 hdfs
类别;所有 Livy、Spark、Yarn、Hive 元存储配置都属于 spark
类别。
支持的配置列出了 Apache Spark 和 Hadoop 属性,你可以在部署 SQL Server 大数据群集时配置这些属性。
以下部分列出了无法在群集中修改的属性: