Wdrażanie serwera Apache Superset™
Uwaga
Wycofamy usługę Azure HDInsight w usłudze AKS 31 stycznia 2025 r. Przed 31 stycznia 2025 r. należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure, aby uniknąć nagłego zakończenia obciążeń. Pozostałe klastry w ramach subskrypcji zostaną zatrzymane i usunięte z hosta.
Tylko podstawowa pomoc techniczna będzie dostępna do daty wycofania.
Ważne
Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure obejmują więcej warunków prawnych, które dotyczą funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje o tej konkretnej wersji zapoznawczej, zobacz Informacje o wersji zapoznawczej usługi Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie w usłudze AskHDInsight , aby uzyskać szczegółowe informacje i postępuj zgodnie z nami, aby uzyskać więcej aktualizacji w 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 internetowym interfejsie użytkownika.
W tym artykule opisano sposób wdrażania wystąpienia interfejsu użytkownika apache Superset na platformie Azure i łączenia go z klastrem Trino za pomocą usługi HDInsight w usłudze AKS w celu wykonywania zapytań dotyczących danych i tworzenia pulpitów nawigacyjnych.
Podsumowanie kroków opisanych w tym artykule:
- Wymagania wstępne.
- Utwórz klaster Kubernetes dla serwera Apache Superset.
- Wdrażanie serwera Apache Superset.
Wymagania wstępne
W przypadku korzystania z systemu Windows użyj systemu Ubuntu w systemie WSL2 , aby uruchomić te instrukcje w środowisku systemu Linux powłoki 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 zrobiono, utwórz klaster Trino za pomocą usługi HDInsight w usłudze AKS.
Aby usługa Apache Superset wywołała funkcję 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
Konfigurowanie interfejsu wiersza polecenia platformy Azure.
a. Zainstaluj interfejs wiersza polecenia platformy Azure.
b. Zaloguj się do interfejsu wiersza polecenia platformy Azure:
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 platformę Kubernetes.
Zainstaluj program 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ą skojarzona z klastrem, aby umożliwić nadzestawowi uwierzytelnianie za pomocą klastra Trino przy użyciu tej tożsamości.
Utwórz następujące zmienne w powłoce bash dla instalacji superzestawu.
# ----- 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ć superzestaw.
az account set --subscription $SUBSCRIPTION
Włącz funkcję tożsamości zasobnika w bieżącej subskrypcji.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Utwórz klaster usługi AKS w celu wdrożenia nadzbioru.
# 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 tożsamości bez ręcznego wdrażania lub pisania wpisów tajnych.
Musisz utworzyć plik values.yaml dla wdrożenia narzędzia Helm Superset. Zapoznaj się z przykładowym kodem.
Opcjonalnie: użyj usługi Microsoft Azure Postgres zamiast używać bazy danych Postgres wdrożonej w klastrze Kubernetes.
Utwórz wystąpienie "Azure Database for PostgreSQL", aby umożliwić łatwiejszą 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 nadzbioru zaleca zmianę hasła domyślnego.
Wdróż nadzbior 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 superzbiorem i utwórz połączenie.
Uwaga
Należy utworzyć oddzielne połączenia dla każdego katalogu Trino, którego chcesz użyć.
Połącz się z superzbiorem przy użyciu 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 pozycję Trino.
Wprowadź identyfikator URI SQL Alchemy klastra Trino.
Należy zmodyfikować trzy części tego parametry połączenia:
Właściwości 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.wykaz /tpch Po ukośniku jest domyślną nazwą wykazu.
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 identyfikatora GUID tożsamości zarządzanej (tę wartość można znaleźć na stronie przeglądu zasobu tożsamości zarządzanej w witrynie Azure Portal).
{ "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 zezwolić użytkownikowi klastra superset przypisanej przez użytkownika zarządzanego na 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 wypełnione są "bezpieczne dodatkowe",
- Adres URL jest poprawny.
tpch
Użyj katalogu, aby przetestować polecenie , aby sprawdzić, czy połączenie działa przed użyciem własnego wykazu.
Następne kroki
Aby uwidocznić nadzbiór do Internetu, zezwól na logowanie użytkownika przy użyciu identyfikatora Microsoft Entra ID, aby wykonać następujące ogólne kroki. Te kroki wymagają pośredniego lub większego doświadczenia z platformą Kubernetes.