Wdrażanie serwera Apache Superset™
Ważny
Usługa Azure HDInsight w usłudze AKS została wycofana 31 stycznia 2025 r. Dowiedz się więcej dzięki temu ogłoszeniu.
Aby uniknąć nagłego kończenia obciążeń, należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure.
Ważny
Ta funkcja jest obecnie dostępna w wersji zapoznawczej. Dodatkowe warunki użytkowania dla wersji preview platformy Microsoft Azure zawierają więcej warunków prawnych, które dotyczą funkcji platformy Azure w wersji beta, zapoznawczej lub w inny sposób jeszcze niewydanych do ogólnej dostępności. Aby uzyskać informacje na temat tej konkretnej wersji zapoznawczej, zobacz informacje o wersji zapoznawczej Azure HDInsight na AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie dotyczące AskHDInsight, aby uzyskać więcej informacji na temat społeczności usługi Azure HDInsight.
Wizualizacja jest niezbędna do efektywnego eksplorowania, prezentowania i udostępniania danych. Apache Superset umożliwia uruchamianie zapytań, wizualizowanie i tworzenie pulpitów nawigacyjnych na danych w elastycznym webowym interfejsie użytkownika.
W tym artykule opisano, jak wdrożyć instancję Apache Superset UI na platformie Azure i połączyć ją z klastrem Trino za pomocą HDInsight na AKS, aby wykonywać zapytania dotyczące danych i tworzyć pulpity nawigacyjne.
Podsumowanie kroków opisanych w tym artykule:
- wymagania wstępne.
- Utwórz klaster Kubernetes dla Apache Superset.
- wdróżApache Superset .
Warunki wstępne
W przypadku korzystania z systemu Windows użyj Ubuntu on WSL2, aby uruchomić te instrukcje w środowisku Linux w powłoce bash w systemie Windows. W przeciwnym razie należy zmodyfikować polecenia, aby działały w systemie Windows.
Tworzenie klastra Trino i przypisywanie tożsamości zarządzanej
Jeśli jeszcze tego nie zrobiłeś, utwórz klaster Trino przy użyciu HDInsight na AKS.
Aby Apache Superset mógł wywołać Trino, musi mieć tożsamość zarządzaną (MSI). Utwórz lub wybierz istniejącą tożsamość zarządzaną przypisaną przez użytkownika .
Zmodyfikuj konfigurację klastra Trino, aby umożliwić tożsamości zarządzanej utworzonej w kroku 2 uruchamianie zapytań. Dowiedz się, jak zarządzać dostępem.
Instalowanie narzędzi lokalnych
Konfiguracja CLI platformy Azure.
a. Zainstaluj Azure CLI.
b. Zaloguj się do Azure CLI:
az login
.c. Zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji zapoznawczej.
# 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
Zainstaluj Kubernetes.
Zainstaluj Helm.
Tworzenie klastra kubernetes dla serwera Apache Superset
W tym kroku zostanie utworzony klaster usługi Azure Kubernetes Service (AKS), w którym można zainstalować serwer Apache Superset. Musisz powiązać tożsamość zarządzaną, którą skojarzyłeś z klastrem, aby umożliwić Superset uwierzytelnianie w klastrze Trino za pomocą tej tożsamości.
Utwórz następujące zmienne w powłoce bash dla swojej instalacji 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=
Wybierz subskrypcję, w której chcesz zainstalować Superset.
az account set --subscription $SUBSCRIPTION
Włącz funkcję tożsamości pod w obecnej subskrypcji.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Utwórz klaster AKS, aby wdrożyć Superset.
# 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
Wdrażanie serwera Apache Superset
Aby zezwolić supersetowi na bezpieczne rozmowy z klastrem Trino, najprostszym sposobem jest skonfigurowanie supersetu w celu korzystania z tożsamości zarządzanej platformy Azure. Ten krok oznacza, że klaster używa przypisanej mu tożsamości bez ręcznego wdrażania lub rotacji tajemnic.
Musisz utworzyć plik values.yaml dla wdrożenia narzędzia Helm Superset. Zapoznaj się z przykładowym kodem .
opcjonalne: użyj usługi Microsoft Azure Postgres zamiast użycia bazy danych Postgres wdrożonej w klastrze Kubernetes.
Utwórz instancję "Azure Database for PostgreSQL", aby ułatwić konserwację, umożliwić tworzenie kopii zapasowych i zapewnić lepszą niezawodność.
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
W razie potrzeby dodaj inne sekcje pliku values.yaml. Dokumentacja Superset zaleca zmianę hasła domyślnego.
Wdróż Superset przy użyciu narzędzia 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
Połącz się z Superset i utwórz połączenie.
Notatka
Należy utworzyć oddzielne połączenia dla każdego katalogu Trino, którego chcesz użyć.
Połącz się z Superset za pomocą przekazywania portów.
kubectl port-forward service/superset 8088:8088 --namespace default
Otwórz przeglądarkę internetową i przejdź do http://localhost:8088/. Jeśli nie zmieniono hasła administratora, zaloguj się przy użyciu nazwy użytkownika: administrator, hasło: administrator.
Wybierz pozycję "Połącz bazę danych" z menu plus "+" po prawej stronie.
Wybierz Trino.
Wprowadź URI SQL Alchemy dla klastra Trino.
Należy zmodyfikować trzy części tych parametrów połączenia:
Własność Przykład Opis użytkownik trino@ Nazwa przed symbolem @ jest nazwą użytkownika używaną do połączenia z Trino. nazwa hosta mytrinocluster.0000000000000000000000000000
.eastus.hdinsightaks.netNazwa hosta klastra Trino.
Te informacje można uzyskać na stronie "Przegląd" klastra w witrynie Azure Portal.katalog /tpch Po ukośniku znajduje się domyślna nazwa katalogu.
Musisz zmienić ten wykaz na wykaz zawierający dane, które chcesz wizualizować.trino://$USER@$TRINO_CLUSTER_HOST_NAME.hdinsightaks.net:443/$DEFAULT_CATALOG
Przykład:
trino://trino@mytrinocluster.00000000000000000000000000.westus3.hdinsightaks.net:443/tpch
Wybierz kartę "Zaawansowane" i wprowadź następującą konfigurację w obszarze "Dodatkowe zabezpieczenia". Zastąp wartość client_id identyfikatorem klienta GUID dla swojej zarządzanej tożsamości (tę wartość można znaleźć na stronie przeglądu zasobu zarządzanej tożsamości w portalu Azure).
{ "auth_method": "azure_msi", "auth_params": { "scope": "https://clusteraccess.hdinsightaks.net/.default", "client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
Wybierz pozycję "Połącz".
Teraz możesz tworzyć zestawy danych i wykresy.
Rozwiązywanie problemów
Sprawdź, czy klaster Trino został skonfigurowany tak, aby umożliwić użytkowi zarządzanej tożsamości przypisanej do klastra Superset nawiązywanie połączenia. Tę wartość można zweryfikować, przeglądając kod JSON zasobu klastra Trino (authorizationProfile/userIds). Upewnij się, że używasz identyfikatora obiektu tożsamości, a nie identyfikatora klienta.
Upewnij się, że w konfiguracji połączenia nie występują błędy.
- Upewnij się, że część "dodatkowe zabezpieczenia" jest wypełniona.
- Adres URL jest poprawny.
- Użyj katalogu
tpch
do testowania, aby sprawdzić, czy połączenie działa przed użyciem własnego katalogu.
Następne kroki
Aby udostępnić Superset w Internecie i umożliwić logowanie się za pomocą Microsoft Entra ID, należy wykonać następujące ogólne kroki. Te kroki wymagają pośredniego lub większego doświadczenia z platformą Kubernetes.