Kurz: Vytvoření clusteru s povoleným proxy serverem REST Apache Kafka ve službě HDInsight pomocí Azure CLI
V tomto kurzu se dozvíte, jak vytvořit cluster s povoleným proxy serverem Apache Kafka v Azure HDInsight pomocí Azure CLI. Azure HDInsight je spravovaná opensourcová analytická služba určená pro podniky. Apache Kafka je open source distribuovaná streamovací platforma. Často se používá jako zprostředkovatel zpráv, protože nabízí funkce podobné frontě pro publikování a odběr zpráv. Proxy rest Kafka umožňuje interakci s clusterem Kafka prostřednictvím rozhraní REST API přes PROTOKOL HTTP. Azure CLI je nové víceplatformové prostředí příkazového řádku Microsoftu pro správu prostředků Azure.
Rozhraní Apache Kafka API je přístupné jenom pro prostředky ve stejné virtuální síti. Ke clusteru se dostanete přímo pomocí SSH. Pokud chcete k platformě Apache Kafka připojit jiné služby, sítě nebo virtuální počítače, musíte nejprve vytvořit virtuální síť a pak v síti vytvořit prostředky. Další informace najdete v tématu Připojení k Apache Kafka pomocí virtuální sítě.
V tomto kurzu se naučíte:
- Požadavky na proxy server REST Kafka
- Vytvoření clusteru Apache Kafka pomocí Azure CLI
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Předpoklady
Aplikace zaregistrovaná v Microsoft Entra ID. Klientské aplikace, které zapisujete pro interakci s proxy serverem REST Kafka, budou k ověření v Azure používat ID a tajný kód této aplikace. Další informace najdete v tématu Registrace aplikace na platformě Microsoft Identity Platform.
Skupina zabezpečení Microsoft Entra s zaregistrovanou aplikací jako člen. Tato skupina zabezpečení se použije k řízení, které aplikace smí interagovat s proxy serverem REST. Další informace o vytváření skupin Microsoft Entra naleznete v tématu Vytvoření základní skupiny a přidání členů pomocí Microsoft Entra ID.
Rozhraní příkazového řádku Azure. Ujistěte se, že máte aspoň verzi 2.0.79. Viz Instalace Azure CLI.
Vytvoření clusteru Apache Kafka
Přihlaste se ke svému předplatnému Azure.
az login # If you have multiple subscriptions, set the one to use # az account set --subscription "SUBSCRIPTIONID"
Nastavte proměnné prostředí. Použití proměnných v tomto kurzu je založeno na Bash. Pro jiná prostředí budou potřeba mírné variace.
Proměnná Popis resourceGroupName Nahraďte RESOURCEGROUPNAME názvem nové skupiny prostředků. umístění Umístění nahraďte oblastí, ve které se cluster vytvoří. Pro seznam platných umístění použijte az account list-locations
příkazclusterName Nahraďte CLUSTERNAME globálně jedinečným názvem nového clusteru. storageAccount Nahraďte STORAGEACCOUNTNAME názvem nového účtu úložiště. httpPassword Heslo nahraďte heslem pro přihlášení ke clusteru, správce. sshPassword Heslo nahraďte heslem pro uživatelské jméno zabezpečeného prostředí sshuser. securityGroupName Nahraďte SECURITYGROUPNAME názvem klientské skupiny zabezpečení Microsoft Entra pro proxy serveru REST Kafka. Proměnná bude předána parametru --kafka-client-group-name
proaz-hdinsight-create
.securityGroupID Nahraďte SECURITYGROUPID klientským ID skupiny zabezpečení Microsoft Entra pro proxy serveru REST Kafka. Proměnná bude předána parametru --kafka-client-group-id
proaz-hdinsight-create
.storageContainer Kontejner úložiště, který bude cluster používat, ponechte v tomto kurzu tak, jak je. Tato proměnná se nastaví s názvem clusteru. workernodeCount Počet pracovních uzlů v clusteru ponechte v tomto kurzu tak, jak je. K zajištění vysoké dostupnosti vyžaduje Kafka minimálně 3 pracovní uzly. clusterType Typ clusteru HDInsight ponechte v tomto kurzu tak, jak je. clusterVersion Verze clusteru HDInsight ponechte v tomto kurzu tak, jak je. Kafka REST Proxy vyžaduje minimální verzi clusteru 4.0. componentVersion Pro účely tohoto kurzu ponechte verzi Kafka tak, jak je. Kafka REST Proxy vyžaduje minimální verzi komponenty 2.1. Aktualizujte proměnné požadovanými hodnotami. Pak zadejte příkazy rozhraní příkazového řádku pro nastavení proměnných prostředí.
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.1
Vytvořte skupinu prostředků zadáním následujícího příkazu:
az group create \ --location $location \ --name $resourceGroupName
Vytvořte účet Azure Storage zadáním následujícího příkazu:
# 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_LRS
Extrahujte primární klíč z účtu služby Azure Storage a uložte ho do proměnné zadáním následujícího příkazu:
export storageAccountKey=$(az storage account keys list \ --account-name $storageAccount \ --resource-group $resourceGroupName \ --query [0].value -o tsv)
Zadáním následujícího příkazu vytvořte kontejner Azure Storage:
az storage container create \ --name $storageContainer \ --account-key $storageAccountKey \ --account-name $storageAccount
Vytvořte cluster HDInsight. Před zadáním příkazu si poznamenejte následující parametry:
Požadované parametry pro clustery Kafka:
Parametr Popis --Typ Hodnota musí být Kafka. --workernode-data-disks-per-node Počet datových disků, které se mají použít na pracovní uzel. HdInsight Kafka se podporuje jenom s datovými disky. Tento kurz používá hodnotu 2. Požadované parametry pro proxy serveru REST Kafka:
Parametr Popis --kafka-management-node-size Velikost uzlu. V tomto kurzu se používá hodnota Standard_D4_v2. --kafka-client-group-id ID klientské skupiny zabezpečení Microsoft Entra pro proxy serveru REST Kafka. Hodnota se předává z proměnné $securityGroupID. --kafka-client-group-name Název klientské skupiny zabezpečení Microsoft Entra pro proxy serveru REST Kafka. Hodnota se předá z proměnné $securityGroupName. --Verze Verze clusteru HDInsight musí být minimálně 4.0. Hodnota se předá z proměnné $clusterVersion. --component-version Verze Kafka musí být minimálně 2.1. Hodnota se předá z proměnné $componentVersion. Pokud chcete vytvořit cluster bez proxy serveru REST, odstraňte
--kafka-management-node-size
--kafka-client-group-id
a--kafka-client-group-name
zaz hdinsight create
příkazu.Pokud máte existující virtuální síť, přidejte parametry
--vnet-name
a--subnet
jejich hodnoty.
Zadáním následujícího příkazu vytvořte cluster:
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"
Dokončení procesu vytváření clusteru může trvat několik minut. Obvykle kolem 15.
Vyčištění prostředků
Jakmile budete s článkem hotovi, můžete cluster odstranit. S HDInsight jsou vaše data uložená ve službě Azure Storage, takže můžete cluster bezpečně odstranit, když se nepoužívá. Za cluster HDInsight se vám také účtují poplatky, i když se nepoužívá. Vzhledem k tomu, že poplatky za cluster jsou mnohokrát vyšší než poplatky za úložiště, dává smysl odstranit clustery, když se nepoužívají.
Pokud chcete odebrat prostředky, zadejte všechny nebo některé z následujících příkazů:
# 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
Další kroky
Teď, když jste úspěšně vytvořili cluster s povoleným proxy serverem Apache Kafka v Azure HDInsight pomocí Azure CLI, použijte kód Pythonu k interakci s proxy serverem REST: