Обновление Кластеры больших данных SQL Server

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

Важно!

Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, а программное обеспечение будет по-прежнему поддерживаться с помощью SQL Server накопительных обновлений до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.

Способ обновления зависит от текущей версии Кластера больших данных SQL Server. Чтобы выполнить обновление поддерживаемого выпуска, включая выпуск для общего распространения (GDR), накопительное обновление (CU) или исправление QFE, можно выполнить обновление на месте. Обновление на месте не поддерживается при использовании ознакомительной версии для сообщества (CTP) или релиз-кандидата Кластера больших данных. Необходимо удалить и повторно создать кластер. В следующих разделах описаны шаги для каждого сценария.

Примечание

На данный момент самый старый из поддерживаемых выпусков — это Кластеров больших данных SQL Server 2019 с накопительным обновлением CU8.

Заметки о выпуске обновления

Прежде чем продолжить, просмотрите известные проблемы в заметках о выпуске обновления.

Предупреждение

При начальном развертывании кластера для параметра imagePullPolicy в файле control.json профиля развертывания должно было присутствовать значение "Always". Этот параметр нельзя изменить после развертывания. Если там задано другое значение, в процессе обновления могут возникнуть непредвиденные результаты, и потребуется повторное развертывание кластера.

Обновление поддерживаемого выпуска

В этом разделе объясняется, как обновить поддерживаемый выпуск BDC SQL Server (начиная с версии SQL Server 2019 GDR1) до более нового поддерживаемого выпуска.

  1. Проверьте, нет ли активных сеансов Livy.

    Убедитесь, что в Azure Data Studio не выполняются активные сеансы Livy или пакетные задания. Это можно легко проверить с помощью команды curl или браузера, запросив следующие URL-адреса:

    • <your-gateway-endpoint>/gateway/default/livy/v1/sessions
    • <your-gateway-endpoint>/gateway/default/livy/v1/batches
  2. Выполните резервное копирование главного экземпляра SQL Server.

  3. Выполните резервное копирование HDFS.

    azdata bdc hdfs cp --from-path <path> --to-path <path>
    

    Пример:

    azdata bdc hdfs cp --from-path hdfs://user/hive/warehouse/%%D --to-path ./%%D
    
  4. Обновите Azure Data CLI (azdata).

    Следуйте инструкциям по установке Azure Data CLI (azdata).

    Примечание

    Если Azure Data CLI (azdata) был установлен с помощью pip, необходимо вручную удалить его перед установкой с помощью установщика Windows или диспетчера пакетов Linux.

  5. Обновите Кластер больших данных.

    azdata bdc upgrade -n <clusterName> -t <imageTag> -r <containerRegistry>/<containerRepository>
    

    Например, в следующем скрипте используется тег образа 2019-CU19-ubuntu-20.04:

    azdata bdc upgrade -n bdc -t 2019-CU19-ubuntu-20.04 -r mcr.microsoft.com/mssql/bdc
    

Примечание

Последние версии тегов образов можно найти в статье Заметки о выпуске кластеров больших данных SQL Server.

Важно!

Если вы используете частный репозиторий, чтобы предварительно извлечь образы для развертывания или обновления BDC, убедитесь, что текущие образы сборки, а также >образы целевой сборки находятся в частном репозитории. Так вы сможете при необходимости успешно выполнить откат. Кроме того, если вы изменили >учетные данные частного репозитория с момента первоначального развертывания, обновите соответствующие переменные среды DOCKER_PASSWORD и >DOCKER_USERNAME. Обновление с использованием других частных репозиториев не поддерживается для текущих и целевых сборок.

Увеличение времени ожидания для обновления

Если определенные компоненты не обновятся в выделенное время, может произойти превышение времени ожидания. В приведенном ниже коде показано, как может выглядеть ошибка:

>azdata.EXE bdc upgrade --name <mssql-cluster>
Upgrading cluster to version 15.0.4003

NOTE: Cluster upgrade can take a significant amount of time depending on
configuration, network speed, and the number of nodes in the cluster.

Upgrading Control Plane.
Control plane upgrade failed. Failed to upgrade controller.

Если вы хотите увеличить время ожидания для обновления, используйте параметры --controller-timeout и --component-timeout, чтобы указать более высокие значения времени ожидания при обновлении. Этот параметр доступен только начиная с выпуска SQL Server 2019 CU2. Пример:

azdata bdc upgrade -t 2019-CU19-ubuntu-20.04 --controller-timeout=40 --component-timeout=40 --stability-threshold=3

--controller-timeout — указывает количество минут ожидания завершения обновления для базы данных контроллера или контроллера. --component-timeout — определяет время, необходимое для выполнения каждого следующего этапа обновления.

Чтобы увеличить время ожидания обновления до выпуска cu19 SQL Server 2019, измените схему конфигурации обновления. Чтобы изменить схему конфигурации обновления, выполните следующие действия:

Выполните следующую команду:

kubectl edit configmap controller-upgrade-configmap

Измените следующие поля:

controllerUpgradeTimeoutInMinutes: указывает количество минут ожидания завершения обновления базы данных контроллера или контроллера. Значение по умолчанию — 5. Используйте значение не ниже 20. totalUpgradeTimeoutInMinutes: определяет совокупный интервал времени, в течение которого контроллер и база данных контроллера должны завершить обновление (обновление контроллера и базы данных контроллера). Значение по умолчанию — 10. Используйте значение не ниже 40. componentUpgradeTimeoutInMinutes: определяет время, необходимое для выполнения каждого следующего этапа обновления. Значение по умолчанию — 30. Замените на 45.

Сохраните и закройте.

Обновление развертывания BDC версии-кандидата или CTP-версии

Обновление на месте CTP-версии или сборки версии-кандидата Кластеров больших данных SQL Server не поддерживается. В следующем разделе объясняется, как вручную удалить и повторно создать кластер.

Резервное копирование и удаление старого кластера

Обновление на месте для кластеров больших данных, развернутых до версии SQL Server 2019 GDR1, не поддерживается. Единственный способ обновить до нового выпуска — вручную удалить и повторно создать кластер. Каждый выпуск имеет уникальную версию Azure Data CLI (azdata), которая не совместима с предыдущей версией. Кроме того, если новый образ контейнера скачивается в кластер, развернутый с помощью другой более старой версии, последний образ может быть несовместим со старыми образами в кластере. Новый образ извлекается при использовании тега образа latest в файле конфигурации развертывания для параметров контейнера. По умолчанию каждый выпуск имеет определенный тег образа, соответствующий версии выпуска SQL Server. Для обновления до последнего выпуска сделайте следующее.

  1. Перед удалением старого кластера выполните резервное копирование данных в основном экземпляре SQL Server и в HDFS. Для основного экземпляра SQL Server можно использовать резервное копирование и восстановление SQL Server. Для HDFS можно скопировать данные с помощью curl.

  2. Удалите старый кластер с помощью команды azdata delete cluster.

     azdata bdc delete --name <old-cluster-name>
    

    Важно!

    Используйте версию Azure Data CLI (azdata), соответствующую вашему кластеру. Не удаляйте старый кластер с более новой версией Azure Data CLI (azdata).

    Примечание

    Выполнение команды azdata bdc delete приведет к тому, что все объекты, созданные в пространстве имен с именем кластера больших данных, будут удалены, однако само пространство имен удалено не будет. Пространство имен можно повторно использовать для последующих развертываний, если оно пусто и в нем не созданы другие приложения.

  3. Удалите старую версию Azure Data CLI (azdata).

    pip3 uninstall -r https://azdatacli.blob.core.windows.net/python/azdata/2019-rc1/requirements.txt
    
  4. Установка последней версии Azure Data CLI (azdata). Следующие команды устанавливают Azure Data CLI (azdata) из последнего выпуска:

    Windows:

    pip3 install -r https://aka.ms/azdata
    

    Linux:

    pip3 install -r https://aka.ms/azdata --user
    

    Важно!

    В каждом выпуске изменяется путь к версии n-1 Azure Data CLI (azdata). Даже если вы ранее устанавливали Azure Data CLI (azdata), перед созданием кластера нужно выполнить переустановку из актуального пути.

Проверка версии azdata

Перед развертыванием нового кластера больших данных убедитесь, что вы используете последнюю версию Azure Data CLI (azdata) с параметром --version.

azdata --version

Установка нового выпуска

После удаления предыдущего кластера больших данных и установки последней версии Azure Data CLI (azdata) разверните новый кластер больших данных с помощью актуальных инструкций по развертыванию. Дополнительные сведения см. в статье Развертывание Кластеры больших данных SQL Server в Kubernetes. Затем восстановите все необходимые базы данных или файлы.

Дальнейшие действия

Дополнительные сведения о кластерах больших данных см. в статье Что такое Кластеры больших данных SQL Server.