Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce tutoriel, vous allez apprendre à créer un cluster compatible avec le proxy REST Apache Kafka dans Azure HDInsight à l’aide d’Azure CLI. Azure HDInsight est un service d’analytique open source managé, complet et à spectre complet pour les entreprises. Apache Kafka est une plateforme de diffusion en continu distribuée open source. Il est souvent utilisé comme répartiteur de messages, car il fournit des fonctionnalités similaires à une file d’attente de messages de publication-abonnement. Le proxy REST Kafka vous permet d’interagir avec votre cluster Kafka via une API REST via HTTP. Azure CLI est l’expérience en ligne de commande multiplateforme de Microsoft pour la gestion des ressources Azure.
L’API Apache Kafka est accessible uniquement par les ressources à l’intérieur du même réseau virtuel. Vous pouvez accéder directement au cluster à l’aide de SSH. Pour connecter d’autres services, réseaux ou machines virtuelles à Apache Kafka, vous devez d’abord créer un réseau virtuel, puis créer les ressources au sein du réseau. Pour plus d’informations, consultez Se connecter à Apache Kafka à l’aide d’un réseau virtuel.
Dans ce tutoriel, vous allez voir comment :
- Conditions préalables pour le proxy REST Kafka
- Créer un cluster Apache Kafka à l’aide d’Azure CLI
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Prerequisites
Une application inscrite auprès de Microsoft Entra ID. Les applications clientes que vous écrivez pour interagir avec le proxy REST Kafka utilisent l’ID et le secret de cette application pour s’authentifier auprès d’Azure. Pour plus d’informations, consultez Inscrire une application auprès de la plateforme d’identités Microsoft.
Groupe de sécurité Microsoft Entra avec votre application inscrite en tant que membre. Ce groupe de sécurité sera utilisé pour contrôler les applications autorisées à interagir avec le proxy REST. Pour plus d’informations sur la création de groupes Microsoft Entra, consultez Créer un groupe de base et ajouter des membres à l’aide de l’ID Microsoft Entra.
Azure CLI. Vérifiez que vous disposez au moins de la version 2.0.79. Voir Installer l’interface de ligne de commande Azure.
Créer un cluster Apache Kafka
Connectez-vous à votre abonnement Azure.
az login # If you have multiple subscriptions, set the one to use # az account set --subscription "SUBSCRIPTIONID"Définir des variables d’environnement L’utilisation de variables dans ce didacticiel est basée sur Bash. De légères variations seront nécessaires pour d’autres environnements.
Variable Descriptif resourceGroupName Remplacez RESOURCEGROUPNAME par le nom de votre nouveau groupe de ressources. location Remplacez LOCATION par une région où le cluster sera créé. Pour obtenir la liste des emplacements valides, utilisez la az account list-locationscommandenom du cluster Remplacez CLUSTERNAME par un nom global unique pour votre nouveau cluster. storageAccount Remplacez STORAGEACCOUNTNAME par un nom pour votre nouveau compte de stockage. httpPassword Remplacez PASSWORD par un mot de passe pour la connexion du cluster, administrateur. sshPassword Remplacez PASSWORD par un mot de passe pour le nom d’utilisateur de l’interpréteur de commandes sécurisé, sshuser. securityGroupName Remplacez SECURITYGROUPNAME par le nom du groupe de sécurité Microsoft Entra client pour le proxy REST Kafka. La variable est transmise au --kafka-client-group-nameparamètre pouraz-hdinsight-create.securityGroupID (identifiant de groupe de sécurité) Remplacez SECURITYGROUPID par l’ID de groupe de sécurité Microsoft Entra client pour le proxy REST Kafka. La variable est transmise au --kafka-client-group-idparamètre pouraz-hdinsight-create.conteneur de stockage Le conteneur de stockage que le cluster utilisera, laissez tel quel pour ce didacticiel. Cette variable est définie avec le nom du cluster. workernodeCount Nombre de nœuds Worker dans le cluster ; laissez-le tel quel pour ce tutoriel. Pour garantir la haute disponibilité, Kafka nécessite un minimum de 3 nœuds de travail. clusterType Type de cluster HDInsight, laissez tel quel pour ce didacticiel. clusterVersion Version du cluster HDInsight ; laissez-la telle quelle pour ce tutoriel. Le proxy REST Kafka nécessite une version minimale du cluster 4.0. componentVersion Laissez la version de Kafka telle quelle pour ce didacticiel. Le proxy REST Kafka nécessite une version minimale du composant 2.1. Mettez à jour les variables avec les valeurs souhaitées. Entrez ensuite les commandes CLI pour définir les variables d’environnement.
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.1Créez le groupe de ressources en entrant la commande ci-dessous :
az group create \ --location $location \ --name $resourceGroupNameCréez un compte de stockage Azure en entrant la commande ci-dessous :
# 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_LRSExtrayez la clé primaire du compte de stockage Azure et stockez-la dans une variable en entrant la commande ci-dessous :
export storageAccountKey=$(az storage account keys list \ --account-name $storageAccount \ --resource-group $resourceGroupName \ --query [0].value -o tsv)Créez un conteneur stockage Azure en entrant la commande ci-dessous :
az storage container create \ --name $storageContainer \ --account-key $storageAccountKey \ --account-name $storageAccountCréez le cluster HDInsight. Avant d’entrer la commande, notez les paramètres suivants :
Paramètres requis pour les clusters Kafka :
Paramètre Descriptif --type La valeur doit être Kafka. --workernode-data-disks-per-node Nombre de disques de données à utiliser par nœud de travail. HDInsight Kafka est pris en charge uniquement avec les disques de données. Ce didacticiel utilise la valeur 2. Paramètres requis pour le proxy REST Kafka :
Paramètre Descriptif --kafka-management-node-size Taille du nœud. Ce didacticiel utilise la valeur Standard_D4_v2. --kafka-client-group-id ID du groupe de sécurité Microsoft Entra du client pour le proxy REST Kafka. La valeur est transmise à partir de la variable $securityGroupID. --kafka-client-group-name Nom du groupe de sécurité du client Microsoft Entra pour le proxy REST Kafka. La valeur est transmise à partir de la variable $securityGroupName. --version La version du cluster HDInsight doit être au moins 4.0. La valeur est transmise à partir de la variable $clusterVersion. --component-version La version kafka doit être au moins 2.1. La valeur est transmise à partir de la variable $componentVersion. Si vous souhaitez créer le cluster sans proxy REST, éliminez
--kafka-management-node-size,--kafka-client-group-idet--kafka-client-group-nameà partir de laaz hdinsight createcommande.Si vous disposez d’un réseau virtuel existant, ajoutez les paramètres
--vnet-nameet--subnetet leurs valeurs.
Entrez la commande suivante pour créer le 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"La fin du processus de création du cluster peut prendre plusieurs minutes. En général, environ 15.
Nettoyer les ressources
Après avoir terminé ce tutoriel, vous souhaiterez peut-être supprimer le cluster. Avec HDInsight, vos données sont stockées dans le stockage Azure. Vous pouvez ainsi supprimer un cluster en toute sécurité s’il n’est pas en cours d’utilisation. Vous devez également payer pour un cluster HDInsight, même quand vous ne l’utilisez pas. Étant donné que les frais pour le cluster sont bien plus élevés que les frais de stockage, mieux vaut supprimer les clusters quand ils ne sont pas utilisés.
Entrez tout ou partie des commandes suivantes pour supprimer des ressources :
# 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
Étapes suivantes
Maintenant que vous avez créé un cluster compatible avec le proxy REST Apache Kafka dans Azure HDInsight à l’aide d’Azure CLI, utilisez le code Python pour interagir avec le proxy REST :