Использование скрипта Python для развертывания кластера больших данных SQL Server в службе Azure Kubernetes (AKS)

Область применения: SQL Server 2019 (15.x)

Important

Кластеры больших данных Microsoft SQL Server 2019 прекращены. Поддержка кластеров больших данных SQL Server 2019 закончилась с 28 февраля 2025 г. Дополнительные сведения см. в записи блога объявлений и параметрах больших данных на платформе Microsoft SQL Server.

В этом руководстве вы используете пример скрипта развертывания Python для развертывания кластеров больших данных SQL Server 2019 в службе Azure Kubernetes (AKS).

Tip

AKS — это только один вариант размещения Kubernetes для кластера больших данных. Дополнительные сведения о других вариантах развертывания, а также о настройке параметров развертывания см. в статье "Как развернуть кластеры больших данных SQL Server в Kubernetes".

Развертывание кластера больших данных по умолчанию, используемое здесь, состоит из экземпляра SQL Master, одного экземпляра пула вычислений, двух экземпляров пула данных и двух экземпляров пула носителей. Данные сохраняются с помощью постоянных томов Kubernetes, использующих классы хранилища AKS по умолчанию. Конфигурация по умолчанию, используемая в этом руководстве, подходит для сред разработки и тестирования.

Prerequisites

Вход в учетную запись Azure

Скрипт использует Azure CLI для автоматизации создания кластера AKS. Перед выполнением скрипта необходимо войти в учетную запись Azure с помощью Azure CLI по крайней мере один раз. Выполните следующую команду из командной строки. Дополнительные сведения см. в разделе Вход с помощью Azure CLI.

az login

Скачивание скрипта развертывания

Это руководство автоматизирует создание кластера больших данных в AKS с помощью скрипта Python deploy-sql-big-data-aks.py. Если вы уже установили python для azdata, вы сможете успешно запустить скрипт в этом руководстве.

В командной строке Windows PowerShell или Linux bash выполните следующую команду, чтобы скачать скрипт развертывания с GitHub.

curl -o deploy-sql-big-data-aks.py "https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/deployment/aks/deploy-sql-big-data-aks.py"

Выполнение скрипта развертывания

Выполните следующие действия, чтобы запустить скрипт развертывания в командной строке Windows PowerShell или Linux bash. Этот скрипт создаст службу AKS в Azure, а затем развернет кластер больших данных SQL Server 2019 в AKS. Вы также можете изменить скрипт с другими переменными среды , чтобы создать настраиваемое развертывание.

  1. Выполните скрипт с помощью следующей команды:

    python deploy-sql-big-data-aks.py
    

    Note

    Если на клиентском компьютере и в пути есть python3 и Python2, выполните команду с помощью Python3: python3 deploy-sql-big-data-aks.py

  2. При появлении запроса введите следующие сведения:

    Value Description
    Идентификатор подписки Azure Идентификатор подписки Azure, используемый для AKS. Вы можете получить список всех подписок и их идентификаторов, выполнив команду az account list из другой командной строки.
    Группа ресурсов Azure Имя группы ресурсов Azure для создания кластера AKS.
    Azure region Регион Azure для нового кластера AKS (по умолчанию westus).
    Machine size Размер компьютера, используемый для узлов в кластере AKS (по умолчанию Standard_D16s_v3).
    Worker nodes Количество рабочих узлов в кластере AKS (по умолчанию 1).
    Cluster name Имя кластера AKS и кластера больших данных. Имя вашего кластера больших данных должно состоять только из буквенно-цифровых символов в нижнем регистре, без пробелов. (default sqlbigdata).
    Password Пароль для контроллера, шлюза HDFS/Spark и главного экземпляра (по умолчанию MySQLBigData2019).
    Username Имя пользователя контроллера (по умолчанию: администратор).

    Important

    Размер машины по умолчанию Standard_D16s_v3 не может быть доступен в каждом регионе Azure. Если выбрать другой размер компьютера, убедитесь, что общее количество дисков, которые можно подключить между узлами в кластере, больше или равно 24. Для каждого запроса на постоянный том в кластере требуется подключенный диск. В настоящее время кластер больших данных требует 24 запросов на постоянный объем.

    Выполните следующую команду, чтобы определить доступные типы виртуальных машин.

    az vm list-sizes --query "sort_by(@,&name)[?contains(name,'Standard_D16s')]" -l westus2 -o table
    

    Note

    Учетная запись SQL Server sa отключена во время развертывания кластера больших данных. В главном экземпляре SQL Server создается новая учетная запись администратора с именем, указанным в поле ввода имени пользователя, и паролем, соответствующим полю ввода пароля. Те же значения имени пользователя и пароля используются для подготовки пользователя администратора контроллера. В кластерах, развернутых до SQL Server 2019 CU5, единственный пользователь, поддерживаемый для шлюза (Knox), является корневым , а пароль совпадает с указанным выше.

    Начиная с SQL Server 2019 (15.x) CU 5, при развертывании нового кластера с базовой проверкой подлинности все конечные точки, включая шлюз, используют AZDATA_USERNAME и AZDATA_PASSWORD. Конечные точки в кластерах, которые обновлены до CU 5, продолжают использовать root в качестве имени пользователя для подключения к конечной точке шлюза. Это изменение не применяется к развертываниям с помощью проверки подлинности Active Directory. См. учетные данные для доступа к службам через конечную точку шлюза в заметках о выпуске.

  3. Скрипт начнется с создания кластера AKS с использованием указанных параметров. Этот шаг занимает несколько минут.

Мониторинг состояния

После создания кластера AKS скрипт переходит к настройке необходимых переменных среды с заданными ранее параметрами. Затем он вызывает azdata для развертывания кластера больших данных в AKS.

Окно командной строки клиента выводит состояние развертывания. Во время процесса развертывания вы увидите ряд сообщений, которые будут ожидать модуль контроллера.

2018-11-15 15:42:02.0209 UTC | INFO | Waiting for controller pod to be up...

Через 10–20 минут вы должны получить уведомление о том, что модуль pod контроллера запущен.

2018-11-15 15:50:50.0300 UTC | INFO | Controller pod is running.
2018-11-15 15:50:50.0585 UTC | INFO | Controller Endpoint: https://111.111.111.111:30080

Important

Все развертывание может занять много времени из-за времени, необходимого для скачивания образов контейнеров для компонентов кластера больших данных. Однако это не должно занять несколько часов. Если у вас возникли проблемы с развертыванием, см. статью "Мониторинг и устранение неполадок кластеров больших данных SQL Server".

Проверка кластера

В любое время во время развертывания можно использовать kubectl или azdata для проверки состояния и сведений о работающем кластере больших данных.

Use kubectl

Откройте новое командное окно для использования kubectl во время процесса развертывания.

  1. Выполните следующую команду, чтобы получить сводку о состоянии всего кластера:

    kubectl get all -n <your-big-data-cluster-name>
    

    Tip

    Если имя кластера больших данных не было изменено, скрипт по умолчанию используется для sqlbigdata.

  2. Проверьте службы Kubernetes и их внутренние и внешние конечные точки с помощью следующей команды kubectl :

    kubectl get svc -n <your-big-data-cluster-name>
    
  3. Вы также можете проверить состояние подов kubernetes при помощи следующей команды:

    kubectl get pods -n <your-big-data-cluster-name>
    
  4. Узнайте больше о конкретном модуле с помощью следующей команды.

    kubectl describe pod <pod name> -n <your-big-data-cluster-name>
    

Tip

Дополнительные сведения о мониторинге и устранении неполадок развертывания см. в статье "Мониторинг и устранение неполадок кластеров больших данных SQL Server".

Подключение к кластеру

После завершения скрипта развертывания выходные данные уведомляют об успешном выполнении:

2018-11-15 16:10:25.0583 UTC | INFO | Cluster state: Ready
2018-11-15 16:10:25.0583 UTC | INFO | Cluster deployed successfully.

Кластер больших данных SQL Server теперь развернут в AKS. Теперь azure Data Studio можно использовать для подключения к кластеру. Дополнительные сведения см. в статье "Подключение к кластеру больших данных SQL Server с помощью Azure Data Studio".

Clean up

При тестировании кластеров больших данных SQL Server в Azure следует удалить кластер AKS, чтобы избежать непредвиденных расходов. Не удаляйте кластер, если планируется продолжить его использование.

Warning

Следующие шаги удаляют кластер AKS, который также удаляет кластер больших данных SQL Server. Если у вас есть базы данных или данные HDFS, которые вы хотите сохранить, создайте резервную копию данных перед удалением кластера.

Выполните следующую команду Azure CLI, чтобы удалить кластер больших данных и службу AKS в Azure (замените <resource group name>группу ресурсов Azure , указанную в скрипте развертывания):

az group delete -n <resource group name>