Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa esercitazione descrive come creare un cluster abilitato per il proxy REST Apache Kafka in Azure HDInsight usando l'interfaccia della riga di comando di Azure. Azure HDInsight è un servizio di analisi open source gestito e a spettro completo per le aziende. Apache Kafka è una piattaforma di streaming distribuita open source. Viene spesso usato come broker di messaggi, perché fornisce funzionalità simili a una coda di messaggi di pubblicazione-sottoscrizione. Il proxy REST Kafka consente di interagire con il cluster Kafka tramite un'API REST tramite HTTP. L'interfaccia della riga di comando di Azure è l'esperienza della riga di comando multipiattaforma di Microsoft per la gestione delle risorse di Azure.
L'API Apache Kafka è accessibile solo dalle risorse all'interno della stessa rete virtuale. È possibile accedere al cluster direttamente tramite SSH. Per connettere altri servizi, reti o macchine virtuali ad Apache Kafka, è prima necessario creare una rete virtuale e quindi creare le risorse all'interno della rete. Per altre informazioni, vedere Connettersi ad Apache Kafka usando una rete virtuale.
In questa esercitazione si apprenderà:
- Prerequisiti per il proxy REST Kafka
- Creare un cluster Apache Kafka usando l'interfaccia della riga di comando di Azure
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Prerequisiti
Applicazione registrata con Microsoft Entra ID. Le applicazioni client scritte per interagire con il proxy REST Kafka useranno l'ID e il segreto dell'applicazione per l'autenticazione in Azure. Per altre informazioni, vedere Registrare un'applicazione con Microsoft Identity Platform.
Un gruppo di sicurezza di Microsoft Entra con l'applicazione registrata come membro. Questo gruppo di sicurezza verrà usato per controllare quali applicazioni possono interagire con il proxy REST. Per altre informazioni sulla creazione di gruppi di Microsoft Entra, vedere Creare un gruppo di base e aggiungere membri con Microsoft Entra ID.
CLI di Azure. Assicurarsi di avere almeno la versione 2.0.79. Vedere Installare l'interfaccia della riga di comando di Azure.
Creare un cluster Apache Kafka
Accedere alla sottoscrizione di Azure.
az login # If you have multiple subscriptions, set the one to use # az account set --subscription "SUBSCRIPTIONID"Impostare le variabili di ambiente. L'uso delle variabili in questa esercitazione è basato su Bash. Per gli altri ambienti sarà necessaria una leggera variazione.
Variable Description resourceGroupName Sostituire RESOURCEGROUPNAME con il nome del nuovo gruppo di risorse. ubicazione Sostituire LOCATION con un'area in cui verrà creato il cluster. Per un elenco di posizioni valide, usare il az account list-locationscomandonome del cluster Sostituire CLUSTERNAME con un nome univoco globale per il nuovo cluster. storageAccount Sostituire STORAGEACCOUNTNAME con un nome per il nuovo account di archiviazione. httpPassword Sostituire PASSWORD con una password per l'account di accesso del cluster, amministratore. sshPassword Sostituire PASSWORD con una password per il nome utente della shell sicura, sshuser. securityGroupName Sostituire SECURITYGROUPNAME con il nome del gruppo di sicurezza Microsoft Entra client per il proxy REST Kafka. La variabile verrà passata al --kafka-client-group-nameparametro peraz-hdinsight-create.securityGroupID Sostituire SECURITYGROUPID con l'ID del gruppo di sicurezza Microsoft Entra client per il proxy REST Kafka. La variabile verrà passata al --kafka-client-group-idparametro peraz-hdinsight-create.contenitore di archiviazione Il contenitore di storage che verrà usato dal cluster, lasciare invariato per questo tutorial. Questa variabile verrà impostata con il nome del cluster. workernodeCount Numero di nodi di lavoro nel cluster, lascia invariato per questa esercitazione. Per garantire la disponibilità elevata, Kafka richiede almeno 3 nodi di lavoro clusterType Per questa esercitazione, lasciare il tipo di cluster HDInsight così com'è. clusterVersion Lasciare la versione del cluster HDInsight così com'è per questa esercitazione. Il proxy REST Kafka richiede una versione minima del cluster 4.0. componentVersion Versione di Kafka. Per questa esercitazione, lasciare il valore invariato. Il proxy REST Kafka richiede una versione minima del componente 2.1. Aggiornare le variabili con i valori desiderati. Immettere quindi i comandi dell'interfaccia della riga di comando per impostare le variabili di ambiente.
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.1Creare il gruppo di risorse immettendo il comando seguente:
az group create \ --location $location \ --name $resourceGroupNameCreare un account di archiviazione di Azure immettendo il comando seguente:
# 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_LRSEstrarre la chiave primaria dall'account di archiviazione di Azure e archiviarla in una variabile immettendo il comando seguente:
export storageAccountKey=$(az storage account keys list \ --account-name $storageAccount \ --resource-group $resourceGroupName \ --query [0].value -o tsv)Creare un contenitore di Archiviazione di Azure immettendo il comando seguente:
az storage container create \ --name $storageContainer \ --account-key $storageAccountKey \ --account-name $storageAccountCreare il cluster HDInsight. Prima di immettere il comando, prendere nota dei parametri seguenti:
Parametri obbligatori per i cluster Kafka:
Parametro Description --type Il valore deve essere Kafka. --workernode-data-disks-per-node Numero di dischi dati da usare per ogni nodo di lavoro. HDInsight Kafka è supportato solo con i dischi dati. Questa esercitazione usa un valore pari a 2. Parametri obbligatori per il proxy REST Kafka:
Parametro Description --kafka-management-node-size Dimensioni del nodo. Questa esercitazione usa il valore Standard_D4_v2. --kafka-client-group-id ID del gruppo di sicurezza Microsoft Entra client per il proxy REST Kafka. Il valore viene passato dalla variabile $securityGroupID. --kafka-client-group-name Nome del gruppo di sicurezza Microsoft Entra client per il proxy REST Kafka. Il valore viene passato dalla variabile $securityGroupName. --version La versione del cluster HDInsight deve essere almeno 4.0. Il valore viene passato dalla variabile $clusterVersion. --component-version La versione Kafka deve essere almeno 2.1. Il valore viene passato dalla variabile $componentVersion. Se si vuole creare il cluster senza proxy REST, eliminare
--kafka-management-node-size,--kafka-client-group-ide--kafka-client-group-namedalaz hdinsight createcomando .Se si dispone di una rete virtuale esistente, aggiungere i
--vnet-nameparametri e--subnete i relativi valori.
Immettere il comando seguente per creare il 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"Il completamento del processo di creazione del cluster può richiedere alcuni minuti. Di solito circa 15.
Pulire le risorse
Al termine dell'articolo, è consigliabile eliminare il cluster. Con HDInsight, i dati vengono archiviati in Archiviazione di Azure ed è possibile eliminare tranquillamente un cluster quando non è in uso. Vengono addebitati i costi anche per i cluster HDInsight che non sono in uso. Poiché i costi per il cluster sono decisamente superiori a quelli per l'archiviazione, eliminare i cluster quando non vengono usati è una scelta economicamente conveniente.
Immettere tutti o alcuni dei comandi seguenti per rimuovere le risorse:
# 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
Passaggi successivi
Dopo aver creato correttamente un cluster abilitato per il proxy REST Apache Kafka in Azure HDInsight usando l'interfaccia della riga di comando di Azure, usare il codice Python per interagire con il proxy REST: