Развертывание Apache Superset™
Примечание.
Мы отставим Azure HDInsight в AKS 31 января 2025 г. До 31 января 2025 г. необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого прекращения рабочих нагрузок. Оставшиеся кластеры в подписке будут остановлены и удалены из узла.
До даты выхода на пенсию будет доступна только базовая поддержка.
Внимание
Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.
Визуализация необходима для эффективного изучения, представления и совместного использования данных. Apache Superset позволяет выполнять запросы, визуализировать и создавать панели мониторинга по данным в гибком веб-интерфейсе.
В этой статье описывается, как развернуть экземпляр пользовательского интерфейса Apache Superset в Azure и подключить его к кластеру Trino с HDInsight в AKS для запроса данных и создания панелей мониторинга.
Сводка действий, описанных в этой статье:
- Предварительные требования.
- Создайте кластер Kubernetes для Apache Superset.
- Развертывание Apache Superset.
Необходимые компоненты
При использовании Windows используйте Ubuntu в WSL2 для выполнения этих инструкций в среде оболочки Bash в Windows. В противном случае необходимо изменить команды для работы в Windows.
Создание кластера Trino и назначение управляемого удостоверения
Если вы еще не сделали этого, создайте кластер Trino с HDInsight в AKS.
Для вызова Trino Superset необходимо иметь управляемое удостоверение (MSI). Создайте или выберите существующее управляемое удостоверение, назначаемое пользователем.
Измените конфигурацию кластера Trino, чтобы разрешить управляемому удостоверению, созданному на шаге 2, выполнять запросы. Узнайте, как управлять доступом.
Установка локальных средств
Настройка Azure CLI.
a. Установите Azure CLI.
b. Войдите в Azure CLI:
az login
c. Установите расширение предварительной версии Azure CLI.
# Install the aks-preview extension az extension add --name aks-preview # Update the extension to make sure you've the latest version installed az extension update --name aks-preview
Установите Kubernetes.
Установите Helm.
Создание кластера Kubernetes для Apache Superset
На этом этапе создается кластер Служба Azure Kubernetes (AKS), где можно установить Apache Superset. Необходимо привязать управляемое удостоверение, связанное с кластером, чтобы разрешить суперсети проходить проверку подлинности в кластере Trino с помощью этого удостоверения.
Создайте следующие переменные в Bash для установки Superset.
# ----- Parameters ------ # The subscription ID where you want to install Superset SUBSCRIPTION= # Superset cluster name (visible only to you) CLUSTER_NAME=trinosuperset # Resource group containing the Azure Kubernetes service RESOURCE_GROUP_NAME=trinosuperset # The region to deploy Superset (ideally same region as Trino): to list regions: az account list-locations REGION=westus3 # The resource path of your managed identity. To get this resource path: # 1. Go to the Azure Portal and find your user assigned managed identity # 2. Select JSON View on the top right # 3. Copy the Resource ID value. MANAGED_IDENTITY_RESOURCE=
Выберите подписку, в которой вы собираетесь установить Супермножество.
az account set --subscription $SUBSCRIPTION
Включите функцию удостоверений pod в текущей подписке.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Создайте кластер AKS для развертывания супермножества.
# Create resource group az group create --location $REGION --name $RESOURCE_GROUP_NAME # Create AKS cluster az \ aks create \ -g $RESOURCE_GROUP_NAME \ -n $CLUSTER_NAME \ --node-vm-size Standard_DS2_v2 \ --node-count 3 \ --enable-managed-identity \ --assign-identity $MANAGED_IDENTITY_RESOURCE \ --assign-kubelet-identity $MANAGED_IDENTITY_RESOURCE # Set the context of your new Kubernetes cluster az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME
Развертывание Apache Superset
Чтобы разрешить суперсети безопасно взаимодействовать с кластером Trino, проще всего настроить superset для использования управляемого удостоверения Azure. Этот шаг означает, что кластер использует удостоверение, которое вы назначили без ручного развертывания или велоспорта секретов.
Необходимо создать файл values.yaml для развертывания Superset Helm. См. пример кода.
Необязательно. Используйте Microsoft Azure Postgres вместо использования Postgres, развернутого в кластере Kubernetes.
Создайте экземпляр "База данных Azure для PostgreSQL", чтобы упростить обслуживание, разрешить резервные копии и повысить надежность.
postgresql: enabled: false supersetNode: connections: db_host: '{{SERVER_NAME}}.postgres.database.azure.com' db_port: '5432' db_user: '{{POSTGRES_USER}}' db_pass: '{{POSTGRES_PASSWORD}}' db_name: 'postgres' # default db name for Azure Postgres
При необходимости добавьте другие разделы значения.yaml. Документация по суперустановкам рекомендует изменить пароль по умолчанию.
Развертывание суперсети с помощью Helm.
# Verify you have the context of the right Kubernetes cluster kubectl cluster-info # Add the Superset repository helm repo add superset https://apache.github.io/superset # Deploy helm repo update helm upgrade --install --values values.yaml superset superset/superset
Подключитесь к суперсети и создайте подключение.
Примечание.
Необходимо создать отдельные подключения для каждого каталога Trino, который вы хотите использовать.
Подключитесь к суперсети с помощью перенаправления портов.
kubectl port-forward service/superset 8088:8088 --namespace default
Откройте веб-браузер и перейдите в раздел http://localhost:8088/. Если пароль администратора не изменен, войдите с помощью имени пользователя: администратора, пароля: администратора.
Выберите "Подключить базу данных" в меню "+" в правой части.
Выберите Trino.
Введите URI Алхимии SQL кластера Trino.
Необходимо изменить три части этого строка подключения:
Свойство Пример Description Пользователь трино@ Имя перед символом @— это имя пользователя, используемое для подключения к Trino. hostname mytrinocluster.000000000000000000000000000000
.eastus.hdinsightaks.netИмя узла кластера Trino.
Эти сведения можно получить на странице "Обзор" кластера в портал Azure.сценариев /tpch После косой черты используется имя каталога по умолчанию.
Необходимо изменить этот каталог на каталог с данными, которые нужно визуализировать.trino://$USER@$TRINO_CLUSTER_HOST_NAME.hdinsightaks.net:443/$DEFAULT_CATALOG
Пример:
trino://trino@mytrinocluster.00000000000000000000000000.westus3.hdinsightaks.net:443/tpch
Перейдите на вкладку "Дополнительно" и введите следующую конфигурацию в разделе "Дополнительная безопасность". Замените значение client_id идентификатором клиента GUID для управляемого удостоверения (это значение можно найти на странице обзора ресурса управляемого удостоверения в портал Azure).
{ "auth_method": "azure_msi", "auth_params": { "scope": "https://clusteraccess.hdinsightaks.net/.default", "client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
Выберите "Подключиться".
Теперь вы готовы создавать наборы данных и диаграммы.
Устранение неполадок
Убедитесь, что кластер Trino настроен, чтобы разрешить пользователю, назначаемом пользователем кластера Superset, управляемому удостоверению. Это значение можно проверить, просмотрев JSON ресурса кластера Trino (authorizationProfile/userIds). Убедитесь, что вы используете идентификатор объекта удостоверения, а не идентификатор клиента.
Убедитесь, что в конфигурации подключения нет ошибок.
- Убедитесь, что "безопасный дополнительный" заполнен,
- Ваш URL-адрес правильный.
tpch
Используйте каталог для проверки работы подключения перед использованием собственного каталога.
Next Steps
Чтобы предоставить суперустановку в Интернете, разрешите вход пользователя с помощью идентификатора Microsoft Entra, необходимо выполнить следующие общие действия. Для этих действий требуется промежуточный или более широкий опыт работы с Kubernetes.