Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här självstudien får du lära dig hur du skapar en Apache Kafka REST-proxy med en aktiverad-kluster i Azure HDInsight med hjälp av Azure CLI. Azure HDInsight är en hanterad analystjänst med fullständigt spektrum med öppen källkod för företag. Apache Kafka är en distribuerad strömningsplattform med öppen källkod. Den används ofta som en asynkron meddelandekö eftersom den innehåller funktioner som påminner om en publicera-prenumerera-meddelandekö. Med Kafka REST Proxy kan du interagera med ditt Kafka-kluster via en REST API- via HTTP. Azure CLI är Microsofts plattformsoberoende kommandoradsupplevelse för hantering av Azure-resurser.
Apache Kafka-API:et kan endast användas av resurser i samma virtuella nätverk. Du kan komma åt klustret direkt med hjälp av SSH. Om du vill ansluta andra tjänster, nätverk eller virtuella datorer till Apache Kafka måste du först skapa ett virtuellt nätverk och sedan skapa resurser i nätverket. Mer information finns i Anslut till Apache Kafka med hjälp av ett virtuellt nätverk.
I den här handledningen lär du dig:
- Förutsättningar för Kafka REST-proxy
- Skapa ett Apache Kafka-kluster med Hjälp av Azure CLI
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Förutsättningar
Ett program registrerat med Microsoft Entra-ID. Klientprogrammen som du skriver för att interagera med Kafka REST-proxyn använder programmets ID och hemlighet för att autentisera till Azure. Mer information finns i Registrera ett program med Microsofts identitetsplattform.
En Microsoft Entra-säkerhetsgrupp med ditt registrerade program som medlem. Den här säkerhetsgruppen används för att styra vilka program som får interagera med REST-proxyn. Mer information om hur du skapar Microsoft Entra-grupper finns i Skapa en grundläggande grupp och lägga till medlemmar med Microsoft Entra-ID.
Azure CLI. Kontrollera att du har minst version 2.0.79. Läs Installera Azure CLI.
Skapa ett Apache Kafka-kluster
Logga in på din Azure-prenumeration.
az login # If you have multiple subscriptions, set the one to use # az account set --subscription "SUBSCRIPTIONID"Ange miljövariabler. Användningen av variabler i den här handledningen baseras på Bash. Små variationer kommer att behövas för andra miljöer.
Variabel Beskrivning resursgruppnamn Ersätt RESOURCEGROUPNAME med namnet på den nya resursgruppen. lokation Ersätt LOCATION med en region där klustret skapas. Om du vill ha en lista över giltiga platser använder du kommandot az account list-locationsklusternamn Ersätt CLUSTERNAME med ett globalt unikt namn för det nya klustret. lagringskonto Ersätt STORAGEACCOUNTNAME med ett namn för ditt nya lagringskonto. httpPassword Ersätt LÖSENORD med ett lösenord för klusterinloggningen administratör. sshPassword Ersätt PASSWORD med ett lösenord för det säkra gränssnittets användarnamn, sshuser. säkerhetsgruppenamn Ersätt SECURITYGROUPNAME med klientens Microsoft Entra-säkerhetsgruppnamn för Kafka REST Proxy. Variabeln skickas till parametern --kafka-client-group-nameföraz-hdinsight-create.securityGroupID Ersätt SECURITYGROUPID med microsoft Entra-klientsäkerhetsgruppens ID för Kafka REST Proxy. Variabeln skickas till parametern --kafka-client-group-idföraz-hdinsight-create.lagringsbehållare Lagringsbehållare som klustret kommer att använda, lämna as-is för denna handledning. Den här variabeln anges med namnet på klustret. workernodeCount Antal arbetsnoder i klustret, lämna as-is för den här handledningen. För att garantera hög tillgänglighet kräver Kafka minst 3 arbetsnoder klusterTyp Typ av HDInsight-kluster, lämna as-is för den här handledningen. Cluster-version HDInsight-klusterversion, lämna as-is för den här handledningen. Kafka REST Proxy kräver en lägsta klusterversion på 4.0. komponentversion Kafka-version, lämna as-is för den här guiden. Kafka REST Proxy kräver en lägsta komponentversion av 2.1. Uppdatera variablerna med önskade värden. Ange sedan CLI-kommandona för att ange miljövariablerna.
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.1Skapa resursgruppen genom att ange kommandot nedan:
az group create \ --location $location \ --name $resourceGroupNameSkapa ett Azure Storage-konto genom att ange kommandot nedan:
# 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_LRSExtrahera den primära nyckeln från Azure Storage-kontot och lagra den i en variabel genom att ange kommandot nedan:
export storageAccountKey=$(az storage account keys list \ --account-name $storageAccount \ --resource-group $resourceGroupName \ --query [0].value -o tsv)Skapa en Azure Storage-container genom att ange kommandot nedan:
az storage container create \ --name $storageContainer \ --account-key $storageAccountKey \ --account-name $storageAccountSkapa HDInsight-klustret. Observera följande parametrar innan du anger kommandot:
Obligatoriska parametrar för Kafka-kluster:
Parameter Beskrivning --typ Värdet måste vara Kafka. --workernode-data-disks-per-node Antalet datadiskar som ska användas per arbetsnod. HDInsight Kafka stöds endast med datadiskar. I den här handledningen används värdet 2. Obligatoriska parametrar för Kafka REST-proxy:
Parameter Beskrivning --kafka-management-node-size Nodens storlek. I denna handledning används värdet Standard_D4_v2. --kafka-client-group-id Microsoft Entra-säkerhetsgruppens klient-ID för Kafka REST Proxy. Värdet skickas från variabeln $securityGroupID. --kafka-client-group-name Klientens Microsoft Entra-säkerhetsgruppnamn för Kafka REST Proxy. Värdet skickas från variabeln $securityGroupName. --version HDInsight-klusterversionen måste vara minst 4.0. Värdet skickas från variabeln $clusterVersion. --component-version Kafka-versionen måste vara minst 2.1. Värdet skickas från variabeln $componentVersion. Om du vill skapa klustret utan REST-proxy eliminerar du
--kafka-management-node-size,--kafka-client-group-idoch--kafka-client-group-namefrån kommandotaz hdinsight create.Om du har ett befintligt virtuellt nätverk lägger du till parametrarna
--vnet-nameoch--subnetoch deras värden.
Ange följande kommando för att skapa klustret:
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"Det kan ta flera minuter innan processen att skapa klustret är klart. Vanligtvis runt 15.
Rensa resurser
När du är klar med artikeln kanske du vill ta bort klustret. Med HDInsight lagras dina data i Azure Storage, så att du på ett säkert sätt kan ta bort ett kluster när de inte används. Du debiteras också för ett HDInsight-kluster, även om det inte används. Eftersom avgifterna för klustret är många gånger högre än avgifterna för lagring är det ekonomiskt klokt att ta bort kluster när de inte används.
Ange alla eller några av följande kommandon för att ta bort resurser:
# 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
Nästa steg
Nu när du har skapat ett Apache Kafka REST-proxyaktiverat kluster i Azure HDInsight med hjälp av Azure CLI använder du Python-kod för att interagera med REST-proxyn: