Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego samouczka dowiesz się, jak utworzyć klaster Apache Kafka z obsługą serwera proxy REST w Azure HDInsight przy użyciu interfejsu wiersza polecenia platformy Azure. Azure HDInsight to zarządzana usługa analizy typu open source o pełnym spektrum dla przedsiębiorstw. Apache Kafka to rozproszona platforma przesyłania strumieniowego typu open source. Jest ona często używana jako broker komunikatów, ponieważ oferuje funkcje podobne do systemu publikowania i subskrybowania komunikatów. Serwer proxy REST platformy Kafka umożliwia interakcję z klastrem Platformy Kafka za pośrednictwem interfejsu API REST za pośrednictwem protokołu HTTP. Azure CLI firmy Microsoft to wieloplatformowe narzędzie do używania wiersza polecenia do zarządzania zasobami Azure.
Dostęp do interfejsu API platformy Apache Kafka mogą uzyskać tylko zasoby będące w tej samej sieci wirtualnej. Dostęp do klastra można uzyskać bezpośrednio przy użyciu protokołu SSH. Aby do platformy Apache Kafka podłączyć inne usługi, sieci lub maszyny wirtualne, należy najpierw utworzyć sieć wirtualną, a następnie utworzyć zasoby w obrębie tej sieci. Aby uzyskać więcej informacji, zobacz Nawiązywanie połączenia z platformą Apache Kafka przy użyciu sieci wirtualnej.
Z tego samouczka dowiesz się:
- Wymagania wstępne dotyczące serwera proxy REST platformy Kafka
- Tworzenie klastra platformy Apache Kafka przy użyciu interfejsu wiersza polecenia platformy Azure
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Aplikacja zarejestrowana w usłudze Microsoft Entra ID. Aplikacje klienckie, które tworzysz do interakcji z serwerem proxy REST dla Kafki, będą używać identyfikatora i tajnego klucza tej aplikacji do uwierzytelniania na platformie Azure. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft.
Grupa zabezpieczeń Microsoft Entra z zarejestrowaną aplikacją jako członkiem. Ta grupa zabezpieczeń będzie używana do kontrolowania, które aplikacje mogą wchodzić w interakcje z serwerem proxy REST. Aby uzyskać więcej informacji na temat tworzenia grup Entra firmy Microsoft, zobacz Stwórz podstawową grupę i dodaj członków przy użyciu Microsoft Entra ID.
Azure CLI Upewnij się, że masz co najmniej wersję 2.0.79. Zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Tworzenie klastra platformy Apache Kafka
Zaloguj się do subskrypcji platformy Azure.
az login # If you have multiple subscriptions, set the one to use # az account set --subscription "SUBSCRIPTIONID"Ustaw zmienne środowiskowe. Użycie zmiennych w tym samouczku opiera się na Bashu. W innych środowiskach będą potrzebne niewielkie różnice.
Zmienna Opis resourceGroupName (nazwa grupy zasobów) Zastąp ciąg RESOURCEGROUPNAME nazwą nowej grupy zasobów. lokalizacja Zastąp ciąg LOCATION regionem, w którym zostanie utworzony klaster. Aby uzyskać listę prawidłowych lokalizacji, użyj az account list-locationspolecenianazwa klastra Zastąp ciąg CLUSTERNAME globalnie unikatową nazwą nowego klastra. konto magazynu Zastąp tekst STORAGEACCOUNTNAME nazwą nowego konta magazynu. httpPassword Zastąp PASSWORD hasłem logowania do klastra, admin. sshPassword Zastąp ciąg PASSWORD hasłem dla nazwy użytkownika powłoki SSH sshuser. nazwaGrupyBezpieczeństwa Zastąp tekst SECURITYGROUPNAME nazwą grupy zabezpieczeń Microsoft Entra dla serwera proxy REST Kafka. Zmienna zostanie przekazana do parametru --kafka-client-group-namedlaaz-hdinsight-create.IdentyfikatorGrupyZabezpieczeń Zastąp wartość SECURITYGROUPID identyfikatorem grupy zabezpieczeń Microsoft Entra dla usługi Kafka REST Proxy. Zmienna zostanie przekazana do parametru --kafka-client-group-iddlaaz-hdinsight-create.pojemnik magazynowy Kontener do przechowywania używany przez klaster, pozostaw as-is na potrzeby tego samouczka. Ta zmienna zostanie ustawiona z nazwą klastra. workernodeCount Liczba węzłów roboczych w klastrze, pozostaw as-is dla tego samouczka. Aby zagwarantować wysoką dostępność, platforma Kafka wymaga co najmniej 3 węzłów roboczych typ klastra Typ klastra usługi HDInsight pozostaw as-is na potrzeby tego samouczka. wersja klastra Wersję klastra usługi HDInsight pozostaw jako as-is na potrzeby tego samouczka. Serwer proxy REST platformy Kafka wymaga minimalnej wersji klastra w wersji 4.0. wersja komponentu Dla tego samouczka pozostaw wersję Kafka as-is. Serwer proxy REST platformy Kafka wymaga minimalnej wersji składnika 2.1. Zaktualizuj zmienne przy użyciu żądanych wartości. Następnie wprowadź polecenia w konsoli, w celu ustawienia zmiennych środowiskowych.
export resourceGroupName=RESOURCEGROUPNAME export location=LOCATION export clusterName=CLUSTERNAME export storageAccount=STORAGEACCOUNTNAME export httpPassword='PASSWORD' export sshPassword='PASSWORD' export securityGroupName=SECURITYGROUPNAME export securityGroupID=SECURITYGROUPID export storageContainer=$(echo $clusterName | tr "[:upper:]" "[:lower:]") export workernodeCount=3 export clusterType=kafka export clusterVersion=4.0 export componentVersion=kafka=2.1Utwórz grupę zasobów , wprowadzając poniższe polecenie:
az group create \ --location $location \ --name $resourceGroupNameUtwórz konto usługi Azure Storage , wprowadzając poniższe polecenie:
# Note: kind BlobStorage is not available as the default storage account. az storage account create \ --name $storageAccount \ --resource-group $resourceGroupName \ --https-only true \ --kind StorageV2 \ --location $location \ --sku Standard_LRSWyodrębnij klucz podstawowy z konta usługi Azure Storage i zapisz go w zmiennej, wprowadzając poniższe polecenie:
export storageAccountKey=$(az storage account keys list \ --account-name $storageAccount \ --resource-group $resourceGroupName \ --query [0].value -o tsv)Utwórz kontener usługi Azure Storage , wprowadzając poniższe polecenie:
az storage container create \ --name $storageContainer \ --account-key $storageAccountKey \ --account-name $storageAccountUtwórz klaster usługi HDInsight. Przed wprowadzeniem polecenia zanotuj następujące parametry:
Wymagane parametry dla klastrów platformy Kafka:
Parametr Opis --typ Wartość musi być kafka. --workernode-data-disks-per-node Liczba dysków danych do użycia dla węzła roboczego. Obsługa platformy Kafka w usłudze HDInsight dotyczy wyłącznie dysków danych. W tym samouczku jest używana wartość 2. Wymagane parametry serwera proxy REST platformy Kafka:
Parametr Opis --kafka-management-node-size Rozmiar węzła. W tym samouczku używa się wartości Standard_D4_v2. --kafka-client-group-id Identyfikator grupy zabezpieczeń klienta Microsoft Entra dla serwera proxy REST platformy Kafka. Wartość jest przekazywana z $securityGroupID zmiennej. --kafka-client-group-name Nazwa grupy zabezpieczeń Microsoft Entra dla klienta serwera proxy REST platformy Kafka. Wartość jest przekazywana ze zmiennej $securityGroupName. --wersja Wersja klastra usługi HDInsight musi być co najmniej 4.0. Wartość jest przekazywana ze zmiennej $clusterVersion. --component-version Wersja platformy Kafka musi być co najmniej 2.1. Wartość jest przekazywana z $componentVersion zmiennej. Jeśli chcesz utworzyć klaster bez serwera proxy REST, wyeliminuj
--kafka-management-node-sizeelement,--kafka-client-group-idi--kafka-client-group-namezaz hdinsight createpolecenia.Jeśli masz istniejącą sieć wirtualną, dodaj parametry
--vnet-namei--subneti ich wartości.
Wprowadź następujące polecenie, aby utworzyć klaster:
az hdinsight create \ --name $clusterName \ --resource-group $resourceGroupName \ --type $clusterType \ --component-version $componentVersion \ --http-password $httpPassword \ --http-user admin \ --location $location \ --ssh-password $sshPassword \ --ssh-user sshuser \ --storage-account $storageAccount \ --storage-account-key $storageAccountKey \ --storage-container $storageContainer \ --version $clusterVersion \ --workernode-count $workernodeCount \ --workernode-data-disks-per-node 2 \ --kafka-management-node-size "Standard_D4_v2" \ --kafka-client-group-id $securityGroupID \ --kafka-client-group-name "$securityGroupName"Ukończenie procesu tworzenia klastra może potrwać kilka minut. Zwykle około 15.
Czyszczenie zasobów
Po ukończeniu korzystania z artykułu warto usunąć klaster. W usłudze HDInsight dane są przechowywane w usłudze Azure Storage, dzięki czemu można bezpiecznie usunąć klaster, gdy nie jest używany. Opłaty są również naliczane za klaster usługi HDInsight, nawet jeśli nie jest używany. Ponieważ opłaty za klaster są wielokrotnie większe niż opłaty za magazyn, warto usunąć klastry, gdy nie są używane.
Wprowadź wszystkie lub niektóre z następujących poleceń, aby usunąć zasoby:
# Remove cluster
az hdinsight delete \
--name $clusterName \
--resource-group $resourceGroupName
# Remove storage container
az storage container delete \
--account-name $storageAccount \
--name $storageContainer
# Remove storage account
az storage account delete \
--name $storageAccount \
--resource-group $resourceGroupName
# Remove resource group
az group delete \
--name $resourceGroupName
Następne kroki
Po pomyślnym utworzeniu klastra serwera proxy REST platformy Apache Kafka w usłudze Azure HDInsight przy użyciu interfejsu wiersza polecenia platformy Azure użyj kodu języka Python do interakcji z serwerem proxy REST: