重要
Microsoft SQL Server 2019 大数据群集附加产品将停用。 对 SQL Server 2019 大数据群集的支持将于 2025 年 2 月 28 日结束。 具有软件保障的 SQL Server 2019 的所有现有用户都将在平台上获得完全支持,在此之前,该软件将继续通过 SQL Server 累积更新进行维护。 有关详细信息,请参阅公告博客文章和 Microsoft SQL Server 平台上的大数据选项。
若要在大数据群集中配置 Apache Spark 和 Apache Hadoop,需要在部署时修改群集配置文件。
大数据群集有四个配置类别:
sql
hdfs
spark
gateway
sql
、hdfs
、spark
sql
是服务。 每个服务映射到同一命名的配置类别。 所有网关配置都转到类别 gateway
。
例如,服务 hdfs
中的所有配置都属于类别 hdfs
。 请注意,所有 Hadoop(核心站点)、HDFS 和 Zookeeper 配置都属于类别 hdfs
;所有 Livy、Spark、Yarn、Hive、元存储配置都属于类别 spark
。
支持的配置 列出了可以在部署 SQL Server 大数据群集时配置的 Apache Spark 和 Hadoop 属性。
以下部分列出了 无法在 群集中修改的属性:
通过群集配置文件进行配置
在群集配置文件中,有资源和服务。 在部署时,可以通过以下两种方式之一指定配置:
首先,在资源级别:
以下示例是配置文件的补丁文件:
{ "op": "add", "path": "spec.resources.zookeeper.spec.settings", "value": { "hdfs": { "zoo-cfg.syncLimit": "6" } } }
或者:
{ "op": "add", "path": "spec.resources.gateway.spec.settings", "value": { "gateway": { "gateway-site.gateway.httpclient.socketTimeout": "95s" } } }
其次,在服务级别。 将多个资源分配给服务,并指定服务的配置。
下面是配置文件的修补程序文件示例,用于设置 HDFS 块大小:
{
"op": "add",
"path": "spec.services.hdfs.settings",
"value": {
"hdfs-site.dfs.block.size": "268435456"
}
}
hdfs
服务定义为:
{
"spec": {
"services": {
"hdfs": {
"resources": [
"nmnode-0",
"zookeeper",
"storage-0",
"sparkhead"
],
"settings":{
"hdfs-site.dfs.block.size": "268435456"
}
}
}
}
}
注释
资源级别配置会替代服务级别配置。 可以将一个资源分配给多个服务。
在存储池中启用 Spark
除了支持的 Apache 配置之外,我们还提供配置 Spark 作业是否可以在存储池中运行的功能。 此布尔值includeSpark
位于配置文件bdc.json
的spec.resources.storage-0.spec.settings.spark
中。
bdc.json 中的存储池定义示例如下所示:
...
"storage-0": {
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Storage",
"replicas": 2,
"settings": {
"spark": {
"includeSpark": "true"
}
}
}
}
局限性
只能在类别级别指定配置。 若要指定具有相同子类别的多个配置,无法提取群集配置文件中的通用前缀。
{
"op": "add",
"path": "spec.services.hdfs.settings.core-site.hadoop",
"value": {
"proxyuser.xyz.users": "*",
"proxyuser.abc.users": "*"
}
}