Настройка масштабируемых групп PolyBase в Windows

Применимо к:SQL Server — Windows только Управляемый экземпляр SQL Azure

В этой статье описывается настройка масштабируемой группы PolyBase в Windows. Эта группа позволяет создавать кластеры экземпляров SQL Server для обработки больших наборов данных из внешних источников данных (например, Hadoop или хранилища BLOB-объектов Azure), используя возможности масштабирования. Это помогает повысить производительность запросов.

Важно!

Поддержка для групп горизонтального увеличения масштаба Microsoft SQL Server PolyBase будет прекращена. Функции группы горизонтального масштабирования будут удалены из продукта в SQL Server 2022 (16.x). Виртуализация данных PolyBase будет по-прежнему полностью поддерживаться как функция вертикального увеличения масштаба в SQL Server. Дополнительные сведения см. в разделе Параметры больших данных на платформе Microsoft SQL Server.

Необходимые компоненты

Обзор процесса

Ниже представлена обобщенная процедура создания масштабируемой группы PolyBase. В следующем разделе приводится более подробное пошаговое руководство.

  1. Установите одну и ту же версию SQL Server с PolyBase на все доступные компьютеры (N).

  2. Выберите один экземпляр SQL Server в качестве головного узла.

  3. Добавьте в группу остальные экземпляры SQL Server в качестве вычислительных узлов с помощью sp_polybase_join_group.

  4. Отслеживайте узлы в группе с помощью sys.dm_exec_compute_nodes (Transact-SQL).

  5. Необязательно. Удалите вычислительный узел с помощью sp_polybase_leave_group (Transact-SQL).

Пошаговое руководство с примерами

В этом руководстве мы настроим группу PolyBase, используя следующие ресурсы.

  1. Два компьютера в домене PQTH4A со следующими именами:

    • PQTH4A-CMP01

    • PQTH4A-CMP02

  2. Учетная запись домена: PQTH4A\PolyBaseUser

Установка SQL Server с PolyBase на всех компьютерах

  1. Запустите Setup.exe.

  2. На странице выбора компонентов выберите пункт Служба запросов PolyBase для внешних данных.

  3. На странице "Конфигурация сервера" настройте ядро SQL Server PolyBase и службу перемещения данных SQL Server PolyBase для запуска под доменной учетной записью PQTH4A\PolyBaseUser.

  4. На странице настройки PolyBase включите параметр Использовать экземпляр SQL Server как часть масштабируемой группы PolyBase. Это позволит открыть брандмауэр для входящих подключений к службе PolyBase. Мастер установки SQL Server автоматически открывает следующие TCP-порты в брандмауэре Windows Server: 1433,16450–16453 и 17001. Если головной узел является именованным экземпляром SQL Server, необходимо также вручную добавить порт SQL Server в брандмауэр Windows на головном узле, а также запустить браузер SQL на головном узле. Порты должны быть разрешены только в брандмауэрах серверов в группе горизонтального увеличения масштаба PolyBase.

  5. После завершения настройки запустите services.msc. Убедитесь, что запущены SQL Server, ядро PolyBase и служба перемещения данных PolyBase.

    A screenshot from SQL Server Configuration Manager, showing the PolyBase services.

Выбор одного из серверов SQL Server в качестве головного узла

По завершении установки любой из компьютеров может выполнять роль головного узла группы PolyBase. В этом примере в качестве головного узла мы выбираем экземпляр MSSQLSERVER в PQTH4A-CMP01.

Добавление в группу остальных экземпляров SQL Server в качестве вычислительных узлов

  1. Подключитесь к SQL Server на узле PQTH4A-CMP02.

  2. Запустите хранимую процедуру sp_polybase_leave_group.

    -- Enter head node details:
    -- head node machine name, head node dms control channel port, head node sql server name  
     EXEC sp_polybase_join_group 'PQTH4A-CMP01', 16450, 'MSSQLSERVER';
    
  3. Запустите файл services.msc на вычислительном узле (PQTH4A-CMP02).

  4. Завершите работу подсистемы PolyBase и перезапустите службу перемещения данных PolyBase.

Примечание.

Когда служба ядра PolyBase перезагружается или останавливается на головном узле, службы перемещения данных (DMS) останавливаются, как только канал связи закрывается между DMS и службой ядра PolyBase (DW). Если ядро хранилища данных перезапускается больше двух раз, служба DMS переходит в период покоя на 90 минут и должна подождать 90 минут для следующей попытки автоматического запуска. В такой ситуации следует вручную запустить эту службу на всех узлах.

Необязательное действие: удаление вычислительного узла

  1. Подключитесь к вычислительному узлу SQL Server (PQTH4A-CMP02).

  2. Запустите хранимую процедуру sp_polybase_leave_group.

    EXEC sp_polybase_leave_group;  
    
  3. Запустите файл services.msc на вычислительном узле, который хотите удалить (PQTH4A-CMP02).

  4. Запустите ядро PolyBase. Перезапустите службу перемещения данных PolyBase.

  5. Убедитесь, что узел удален, выполнив dmV sys.dm_exec_compute_nodes в PQTH4A-CMP01. Теперь узел PQTH4A-CMP02 будет функционировать как автономный головной узел.

Ограничения

  • При наличии экземпляра SQL Server по умолчанию, настроенного для прослушивания TCP-порта, отличного от 1433, этот экземпляр не может использоваться в качестве головного узла в группе горизонтального увеличения масштаба PolyBase. При выполнении sp_polybase_join_groupпри передаче msSQLSERVER в качестве имени экземпляра SQL Server предполагает, что порт 1433 является портом прослушивателя, поэтому служба перемещения данных не может подключиться к головному узлу при запуске.

  • Группы горизонтального масштабирования PolyBase не поддерживаются в группах доступности AlwaysOn.