Créer un cluster avec Data Lake Storage Gen2 à l’aide d’Azure CLI

Pour créer un cluster HDInsight qui utilise Data Lake Storage Gen2 comme stockage, effectuez les étapes suivantes.

Prérequis

  • Si vous ne connaissez pas Azure Data Lake Storage Gen2, consultez la section Vue d’ensemble.
  • Si vous n’avez pas encore de compte Azure, inscrivez-vous à un essai gratuit avant de continuer.
  • Pour exécuter les exemples de script d’Azure CLI, vous disposez de trois options :
    • Utilisez Azure Cloud Shell à partir du portail Azure (voir section suivante).
    • Utilisez l’interface intégrée Azure Cloud Shell via le bouton « Essayer », situé dans le coin supérieur droit de chaque bloc de code.
    • Installez la dernière version d’Azure CLI (2.0.13 ou ultérieure) si vous préférez utiliser une console CLI locale. Connectez-vous à Azure avec la commande az login en utilisant un compte associé à l’abonnement Azure sous lequel vous souhaitez déployer l’identité managée affectée par l’utilisateur.Azure CLI.

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

Avertissement

La facturation des clusters HDInsight est calculée au prorata des minutes écoulées, que vous les utilisiez ou non. Veillez à supprimer votre cluster une fois que vous avez terminé de l’utiliser. Consultez Guide pratique pour supprimer un cluster HDInsight.

Vous pouvez télécharger un exemple de fichier de modèle et télécharger un exemple de fichier de paramètres. Avant d’utiliser le modèle et l’extrait de code Azure CLI ci-dessous, remplacez les espaces réservés suivants par leurs valeurs correctes :

Espace réservé Description
<SUBSCRIPTION_ID> L’ID de votre abonnement Azure
<RESOURCEGROUPNAME> Le groupe de ressources dans lequel vous souhaitez créer le cluster et le compte de stockage.
<MANAGEDIDENTITYNAME> Nom de l’identité managée qui recevra les autorisations sur votre compte de stockage avec Azure Data Lake Storage Gen2.
<STORAGEACCOUNTNAME> Nouveau compte de stockage avec Azure Data Lake Storage Gen2 qui sera créé.
<FILESYSTEMNAME> Nom du système de fichiers que ce cluster doit utiliser dans le compte de stockage.
<CLUSTERNAME> Nom de votre cluster HDInsight
<PASSWORD> Le mot de passe que vous avez choisi pour vous connecter au cluster à l’aide de SSH et du tableau de bord Ambari.

L’extrait de code ci-dessous effectue les étapes initiales suivantes :

  1. Il établit la connexion à votre compte Azure.
  2. Il définit l’abonnement actif où les opérations de création seront effectuées.
  3. Il crée un groupe de ressources pour les nouvelles activités de déploiement.
  4. Il crée une identité managée attribuée par l’utilisateur.
  5. Il ajoute une extension à Azure CLI pour utiliser les fonctionnalités de Data Lake Storage Gen2.
  6. Il crée un compte de stockage avec Data Lake Storage Gen2 en utilisant l’indicateur --hierarchical-namespace true.
az login
az account set --subscription <SUBSCRIPTION_ID>

# Create resource group
az group create --name <RESOURCEGROUPNAME> --location eastus

# Create managed identity
az identity create -g <RESOURCEGROUPNAME> -n <MANAGEDIDENTITYNAME>

az extension add --name storage-preview

az storage account create --name <STORAGEACCOUNTNAME> \
    --resource-group <RESOURCEGROUPNAME> \
    --location eastus --sku Standard_LRS \
    --kind StorageV2 --hierarchical-namespace true

Ensuite, connectez-vous au portail. Ajoutez la nouvelle identité managée affectée par l’utilisateur au rôle Propriétaire de données Blob du stockage sur le compte de stockage. Cette étape est décrite à l’étape 3 sous Utilisation du Portail Azure.

Important

Assurez-vous que votre compte de stockage dispose de l’identité affectée par l’utilisateur avec les autorisations de rôle Propriétaire de données Blob du stockage. Sinon, la création du cluster échouera.

az deployment group create --name HDInsightADLSGen2Deployment \
    --resource-group <RESOURCEGROUPNAME> \
    --template-file hdinsight-adls-gen2-template.json \
    --parameters parameters.json

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 $AZURE_STORAGE_ACCOUNT \
    --name $AZURE_STORAGE_CONTAINER

# Remove storage account
az storage account delete \
    --name $AZURE_STORAGE_ACCOUNT \
    --resource-group $resourceGroupName

# Remove resource group
az group delete \
    --name $resourceGroupName

Dépanner

Si vous rencontrez des problèmes lors de la création de clusters HDInsight, reportez-vous aux exigences de contrôle d’accès.

Étapes suivantes

Vous avez créé un cluster HDInsight. Apprenez maintenant à l’utiliser.

Clusters Apache Spark

Clusters Apache Hadoop

Clusters Apache HBase