在 Windows 上安装 PolyBase

适用于:SQL Server - 仅限 Windows

若要安装 SQL Server 试用版,请转到 SQL Server 评估

先决条件

  • 64 位 SQL Server 评估版。

  • Microsoft .NET Framework 4.5。

  • 最低内存:4 GB。

  • 最小硬盘空间:2 GB。

  • 建议:最小值为 16-GB RAM。

  • PolyBase 服务要求 SQL Server 服务启用 TCP/IP 网络协议,这样才能正常工作。 SQL Server 的所有版本均默认启用 TCP/IP,Developer 和 Express SQL Server 版本除外。 若要使 PolyBase 在 Developer 和 Express 版本上正常工作,必须启用 TCP/IP 连接。 请参阅启用或禁用服务器网络协议。 此外,如果将 TCP/IP 协议配置设置“全部侦听”设置为“否”,则在 TCP/IP 属性中“IPAll”下的“TCP 动态端口”或“TCP 端口”中,仍必须有用于正确侦听器端口的条目。 鉴于 PolyBase 服务解析 SQL Server 引擎的侦听器端口的方式,此条目是必需的。

  • PolyBase 服务需要启用共享内存协议,才能正常工作。

  • 在每台计算机上仅可在一个 SQL Server 实例上安装 PolyBase。

  • 创建后无法向故障转移群集实例添加功能。 例如,无法向现有的故障转移群集实例添加“PolyBase”功能。

单节点或 PolyBase 横向扩展组

在 SQL Server 实例上安装 PolyBase 之前,决定是需要单节点安装还是需要 PolyBase 横向扩展组

在 SQL Server 2022 (16.x) 中,横向扩展组功能已停用并从产品中删除。 PolyBase 数据虚拟化将在 SQL Server 中作为纵向扩展功能继续完全受支持。 有关详细信息,请参阅 Microsoft SQL Server 平台上的大数据选项

对于 PolyBase 服务帐户,请选择:

  • 用于独立安装 PolyBase 的默认虚拟服务帐户 (VSA)。
  • 一个域帐户,其首选为组托管服务帐户 (gMSA),用于安装在 PolyBase 横向扩展组中。 有关详细信息,请参阅组托管服务帐户概述

对于 SQL Server 2016 (13.x) - SQL Server 2019 (15.x) 中的 PolyBase 横向扩展组,请确保:

  • 所有计算机都位于同一域中。
  • 在 PolyBase 安装期间使用相同的域服务帐户和密码。
  • SQL Server 实例彼此之间可以通过网络进行通信。
  • SQL Server 实例的 SQL Server 版本相同。

将 PolyBase 安装为独立实例或横向扩展组后,不能更改为横向扩展组或独立服务。 如果需要将 PolyBase 的现有安装更改为独立实例或横向扩展组,请卸载并重新安装 PolyBase 功能。

使用安装向导

  1. 运行 SQL Server setup.exe。

  2. 选择“安装”,然后选择“全新独立 SQL Server 安装或添加功能”

  3. 在“功能选择”页上,选择“针对外部数据的 PolyBase 查询服务”

    注意

    从 SQL Server 2019 (15.x) 开始,PolyBase 包含附加选项“适用于 HDFS 数据源的 Java 连接器”。 若要详细了解此功能,请参阅 SQL Server 预览功能

  4. 在服务器配置页上,将“SQL Server PolyBase 引擎服务”和“SQL Server PolyBase 数据移动服务”配置为在同一域帐户下运行

    在 PolyBase 横向扩展组中,所有节点上的 PolyBase 引擎和 PolyBase 数据移动服务必须在同一个域帐户下运行。 请参阅 PolyBase 横向扩展组

  5. 在“PolyBase 配置页”上,选择两个选项之一。 有关详细信息,请参阅 PolyBase 横向扩展组

    • 将 SQL Server 实例用作已启用 PolyBase 的独立实例。

      选择此选项可将 SQL Server 实例用作独立的头节点。

    • 将 SQL Server 实例作为 PolyBase 横向扩展组的一部分使用。 此选项将打开防火墙以允许传入连接。 允许与 SQL Server 数据库引擎、SQL Server PolyBase 引擎、SQL Server PolyBase 数据移动服务和 SQL Browser 建立连接。 防火墙还允许来自 PolyBase 横向扩展组中其他节点的传入连接。

      此选项还将启用 Microsoft 分布式事务处理协调器 (MSDTC) 防火墙连接并修改 MSDTC 注册表设置。

  6. PolyBase 配置页上,指定至少具有六个端口的端口范围。 SQL Server 安装程序分配该范围中的前六个可用端口。

    重要

    只有在 SQL Server 2019 (15.x) 中,安装后必须启用 PolyBase 功能

使用命令提示符

使用此表中的值来创建安装脚本。 SQL Server PolyBase 引擎和 SQL Server PolyBase 数据移动服务必须在同一帐户下运行。 在 PolyBase 横向扩展组中,所有节点上的 PolyBase 服务必须在同一个域帐户下运行。

SQL Server 组件 参数和值 说明
SQL Server 安装程序控件 必需

/FEATURES=PolyBase
选择 PolyBase 功能。
SQL Server PolyBase 引擎 可选

/PBENGSVCACCOUNT
指定引擎服务的帐户。 默认为 NT Authority\NETWORK SERVICE
SQL Server PolyBase 引擎 可选

/PBENGSVCPASSWORD
指定引擎服务帐户的密码。
SQL Server PolyBase 引擎 可选

/PBENGSVCSTARTUPTYPE
指定 PolyBase 引擎的启动模式:自动(默认)、禁用和手动。
SQL Server PolyBase 数据移动 可选

/PBDMSSVCACCOUNT
指定数据移动服务的帐户。 默认为 NT Authority\NETWORK SERVICE
SQL Server PolyBase 数据移动 可选

/PBDMSSVCPASSWORD
指定数据移动帐户的密码。
SQL Server PolyBase 数据移动 可选

/PBDMSSVCSTARTUPTYPE
指定数据移动服务的启动模式:自动(默认)、禁用和手动。
PolyBase 可选

/PBSCALEOUT
指定是否将 SQL Server 实例用作 PolyBase 横向扩展计算组的一部分。
支持的值:True、False。
PolyBase 可选

/PBPORTRANGE
指定一个端口范围,其中至少具有六个端口用于 PolyBase 服务。 示例:

/PBPORTRANGE=16450-16460
SQL Server 组件 参数和值 说明
SQL Server 安装程序控件 必需

/FEATURES=PolyBaseCore, PolyBaseJava, PolyBase
PolyBaseCore 安装对除 Hadoop 连接外的所有 PolyBase 功能的支持。 PolyBaseJava 支持 Hadoop 连接。 PolyBase 安装两者。
SQL Server PolyBase 引擎 可选

/PBENGSVCACCOUNT
指定引擎服务的帐户。 默认为 NT Authority\NETWORK SERVICE
SQL Server PolyBase 引擎 可选

/PBENGSVCPASSWORD
指定引擎服务帐户的密码。
SQL Server PolyBase 引擎 可选

/PBENGSVCSTARTUPTYPE
指定 PolyBase 引擎的启动模式:自动(默认)、禁用和手动。
SQL Server PolyBase 数据移动 可选

/PBDMSSVCACCOUNT
指定数据移动服务的帐户。 默认为 NT Authority\NETWORK SERVICE
SQL Server PolyBase 数据移动 可选

/PBDMSSVCPASSWORD
指定数据移动帐户的密码。
SQL Server PolyBase 数据移动 可选

/PBDMSSVCSTARTUPTYPE
指定数据移动服务的启动模式:自动(默认)、禁用和手动。
PolyBase 可选

/PBSCALEOUT
指定是否将 SQL Server 实例用作 PolyBase 横向扩展计算组的一部分。
支持的值:True、False。
PolyBase 可选

/PBPORTRANGE
指定一个端口范围,其中至少具有六个端口用于 PolyBase 服务。 示例:

/PBPORTRANGE=16450-16460

安装后,必须启用 PolyBase 功能

示例

此示例显示一个示例安装程序脚本。


Setup.exe /Q /ACTION=INSTALL /IACCEPTSQLSERVERLICENSETERMS /FEATURES=SQLEngine,PolyBase  
/INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS="\<fabric-domain>\Administrator"  
/INSTANCEDIR="C:\Program Files\Microsoft SQL Server" /PBSCALEOUT=TRUE  
/PBPORTRANGE=16450-16460 /SECURITYMODE=SQL /SAPWD="<StrongPassword>"  
/PBENGSVCACCOUNT="<DomainName>\<UserName>" /PBENGSVCPASSWORD="<StrongPassword>"  
/PBDMSSVCACCOUNT="<DomainName>\<UserName>" /PBDMSSVCPASSWORD="<StrongPassword>"

从 SQL Server 2022 (16.x) 开始,请阅读 Microsoft SQL Server 软件许可证条款,网址为 aka.ms/useterms

启用 PolyBase

安装完成后,必须启用 PolyBase 来获取其功能。 使用以下 Transact-SQL 命令。 在大数据群集安装过程中部署的 SQL 2019 实例默认启用此设置。 SQL Server 2019 (15.x) 中引入了 polybase enabled 配置选项。

exec sp_configure @configname = 'polybase enabled', @configvalue = 1;
RECONFIGURE;

安装后注意事项

PolyBase 安装三个用户数据库:DWConfigurationDWDiagnosticsDWQueue。 这些数据库供 PolyBase 使用。 请勿更改或删除它们。

避免拆分版本

如果在 Windows 上将 PolyBase 添加到 SQL Server 的现有安装,则会在安装介质的版本级别安装该功能,这可能落后于 SQL Server 版本级别的其他功能。 这可能会导致意外行为或错误。 在安装 PolyBase 功能之后,务必要将新功能引入到相同版本级别。 根据需要安装服务包 (SP)、累积更新 (CU) 和/或常规分发版本 (GDR)。 要确定 PolyBase 的版本,请参阅确定 SQL Server 及其组件的版本、版本类别和更新级别

在 Linux 上将此功能添加到 SQL Server 时,无法实现此拆分版本方案。

如何确认安装

运行以下命令: 如果已安装 PolyBase,则返回 1。 否则为 0

SELECT SERVERPROPERTY ('IsPolyBaseInstalled') AS IsPolyBaseInstalled;

防火墙规则

SQL Server PolyBase 安装程序将在计算机上创建以下防火墙规则:

  • SQL Server PolyBase - 数据库引擎 - <SQLServerInstanceName> (TCP-In)

  • SQL Server PolyBase - PolyBase Services - <SQLServerInstanceName> (TCP-In)

  • SQL Server PolyBase - SQL Browser - (UDP-In)

安装时,如果使用 SQL Server 实例作为 PolyBase 横向扩展组中的一部分,则将启用这些规则。 防火墙将开启以允许传入连接。 允许将这些连接用于 SQL Server 数据库引擎、SQL Server PolyBase 引擎、SQL Server PolyBase 数据移动服务和 SQL Browser。 如果安装期间未运行计算机上的防火墙服务,SQL Server 安装程序将无法启用这些规则。 在这种情况下,请在计算机上启动防火墙服务并启用这些安装后规则。

启用防火墙规则

  1. 打开“控制面板”

  2. 选择“系统和安全”,然后选择“Windows 防火墙”

  3. 选择“高级设置”,然后选择“入站规则”

  4. 右键单击已禁用的规则,然后选择“启用规则”

PolyBase 服务帐户

若要更改 PolyBase 引擎和 PolyBase 数据移动服务的服务帐户,请卸载并重新安装 PolyBase 功能。 如果在 Active Directory 中更改了服务帐户的密码,可以使用 Windows 服务控制台 (services.msc) 更改服务帐户密码。

后续步骤

请参阅 PolyBase configuration