Guida introduttiva: Creare cluster Apache Hadoop in Azure HDInsight con un modello di Resource ManagerQuickstart: Create Apache Hadoop cluster in Azure HDInsight using Resource Manager template

In questa guida di avvio rapido si userà un modello di Azure Resource Manager per creare un cluster Apache Hadoop in Azure HDInsight.In this quickstart, you use an Azure Resource Manager template to create an Apache Hadoop cluster in Azure HDInsight. Hadoop era il framework open source originale per l'elaborazione distribuita e l'analisi di set di Big Data in cluster.Hadoop was the original open-source framework for distributed processing and analysis of big data sets on clusters. L'ecosistema Hadoop include software e utilità correlate, tra cui Apache Hive, Apache HBase, Spark, Kafka e molti altri.The Hadoop ecosystem includes related software and utilities, including Apache Hive, Apache HBase, Spark, Kafka, and many others.

Un modello di Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione del progetto.Resource Manager template is a JavaScript Object Notation (JSON) file that defines the infrastructure and configuration for your project. Il modello usa una sintassi dichiarativa che consente di indicare ciò che si intende distribuire senza dover scrivere la sequenza dei comandi di programmazione per crearlo.The template uses declarative syntax, which lets you state what you intend to deploy without having to write the sequence of programming commands to create it. Per altre informazioni sullo sviluppo di modelli di Resource Manager, vedere la documentazione di Resource Manager e le informazioni di riferimento sui modelli.If you want to learn more about developing Resource Manager templates, see Resource Manager documentation and the template reference.

HDInsight attualmente viene fornito con sette diversi tipi di cluster.Currently HDInsight comes with seven different cluster types. Ogni tipo di cluster supporta un set diverso di componenti.Each cluster type supports a different set of components. Tutti i tipi di cluster supportano Hive.All cluster types support Hive. Per un elenco dei componenti supportati in HDInsight, vedere Novità delle versioni cluster di Hadoop incluse in HDInsightFor a list of supported components in HDInsight, see What's new in the Hadoop cluster versions provided by HDInsight?

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Creare un cluster Apache HadoopCreate an Apache Hadoop cluster

Rivedere il modelloReview the template

Il modello usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure.The template used in this quickstart is from Azure Quickstart templates.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "clusterName": {
      "type": "string",
      "metadata": {
        "description": "The name of the HDInsight cluster to create."
      }
    },
    "clusterType": {
      "type": "string",
      "allowedValues": [
        "hadoop",
        "intractivehive",
        "hbase",
        "storm",
        "spark"
      ],
      "metadata": {
        "description": "The type of the HDInsight cluster to create."
      }
    },
    "clusterLoginUserName": {
      "type": "string",
      "metadata": {
        "description": "These credentials can be used to submit jobs to the cluster and to log into cluster dashboards."
      }
    },
    "clusterLoginPassword": {
      "type": "securestring",
      "metadata": {
        "description": "The password must be at least 10 characters in length and must contain at least one digit, one non-alphanumeric character, and one upper or lower case letter."
      }
    },
    "sshUserName": {
      "type": "string",
      "metadata": {
        "description": "These credentials can be used to remotely access the cluster."
      }
    },
    "sshPassword": {
      "type": "securestring",
      "metadata": {
        "description": "The password must be at least 10 characters in length and must contain at least one digit, one non-alphanumeric character, and one upper or lower case letter."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
      "HeadNodeVirtualMachineSize": {
      "type": "string",
      "defaultValue": "Standard_D3_v2",
      "allowedValues": [
        "Standard_A4_v2",
        "Standard_A8_v2",
        "Standard_D3_v2",
        "Standard_D4_v2",
        "Standard_D5_v2"
      ],
      "metadata": {
        "description": "This is the headnode Azure Virtual Machine size, and will affect the cost. If you don't know, just leave the default value."
      }
    },
      "WorkerNodeVirtualMachineSize": {
      "type": "string",
      "defaultValue": "Standard_D3_v2",
      "allowedValues": [
        "Standard_A4_v2",
        "Standard_A8_v2",
        "Standard_D1_v2",
        "Standard_D2_v2",
        "Standard_D3_v2",
        "Standard_D4_v2",
        "Standard_D5_v2"
      ],
      "metadata": {
        "description": "This is the worerdnode Azure Virtual Machine size, and will affect the cost. If you don't know, just leave the default value."
      }
    }
  },
  "variables": {
    "defaultStorageAccount": {
      "name": "[uniqueString(resourceGroup().id)]",
      "type": "Standard_LRS"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[variables('defaultStorageAccount').name]",
      "location": "[parameters('location')]",
      "apiVersion": "2019-06-01",
      "sku": {
        "name": "[variables('defaultStorageAccount').type]"
      },
      "kind": "StorageV2",
      "properties": {}
    },
    {
      "name": "[parameters('clusterName')]",
      "type": "Microsoft.HDInsight/clusters",
      "location": "[parameters('location')]",
        "apiVersion": "2018-06-01-preview",
      "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts',variables('defaultStorageAccount').name)]"
      ],
      "properties": {
        "clusterVersion": "3.6",
        "osType": "Linux",
        "clusterDefinition": {
          "kind": "[parameters('clusterType')]",
          "configurations": {
            "gateway": {
              "restAuthCredential.isEnabled": true,
              "restAuthCredential.username": "[parameters('clusterLoginUserName')]",
              "restAuthCredential.password": "[parameters('clusterLoginPassword')]"
            }
          }
        },
        "storageProfile": {
          "storageaccounts": [
            {
              "name": "[replace(replace(concat(reference(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name)).primaryEndpoints.blob),'https:',''),'/','')]",
              "isDefault": true,
              "container": "[parameters('clusterName')]",
              "key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name), '2019-06-01').keys[0].value]"
            }
          ]
        },
        "computeProfile": {
          "roles": [
            {
              "name": "headnode",
              "targetInstanceCount": 2,
              "hardwareProfile": {
              "vmSize": "[parameters('HeadNodeVirtualMachineSize')]"
              },
              "osProfile": {
                "linuxOperatingSystemProfile": {
                  "username": "[parameters('sshUserName')]",
                  "password": "[parameters('sshPassword')]"
                }
              }

Nel modello sono definite due risorse di Azure:Two Azure resources are defined in the template:

Distribuire il modelloDeploy the template

  1. Selezionare il pulsante Distribuisci in Azure seguente per accedere ad Azure e aprire il modello di Resource Manager.Select the Deploy to Azure button below to sign in to Azure and open the Resource Manager template.

    Deploy to Azure button for new cluster

  2. Immettere o selezionare i valori seguenti:Enter or select the following values:

    ProprietàProperty DescrizioneDescription
    SubscriptionSubscription Nell'elenco a discesa selezionare la sottoscrizione di Azure che viene usata per il cluster.From the drop-down list, select the Azure subscription that's used for the cluster.
    Resource groupResource group Nell'elenco a discesa selezionare il gruppo di risorse esistente oppure selezionare Crea nuovo.From the drop-down list, select your existing resource group, or select Create new.
    LocationLocation Come valore verrà inserita automaticamente la località usata per il gruppo di risorse.The value will autopopulate with the location used for the resource group.
    Cluster NameCluster Name Immettere un nome univoco globale.Enter a globally unique name. Per questo modello usare solo lettere minuscole e numeri.For this template, use only lowercase letters, and numbers.
    Tipo di clusterCluster Type Selezionare hadoop.Select hadoop.
    Nome utente dell'account di accesso del clusterCluster Login User Name Specificare il nome utente. Il valore predefinito è admin.Provide the username, default is admin.
    Password di accesso al clusterCluster Login Password Specificare una password.Provide a password. La password deve avere una lunghezza minima di 10 caratteri e contenere almeno una cifra, una lettera maiuscola, una lettera minuscola e un carattere non alfanumerico, ad eccezione di ' " `.The password must be at least 10 characters in length and must contain at least one digit, one uppercase, and one lower case letter, one non-alphanumeric character (except characters ' " ` ).
    Nome utente SSHSsh User Name Specificare il nome utente. Il valore predefinito è sshuser.Provide the username, default is sshuser
    Password SSHSsh Password Specificare la password.Provide the password.

    Alcune proprietà sono state impostate come hardcoded nel modello.Some properties have been hardcoded in the template. È possibile configurare questi valori dal modello.You can configure these values from the template. Per una spiegazione più approfondita di queste proprietà, vedere Creare cluster Apache Hadoop in HDInsight.For more explanation of these properties, see Create Apache Hadoop clusters in HDInsight.

    Nota

    I valori immessi devono essere univoci e devono seguire le linee guida sulle convenzioni di denominazione.The values you provide must be unique and should follow the naming guidelines. Il modello non esegue controlli di convalida.The template does not perform validation checks. Se i valori immessi sono già in uso o non seguono le linee guida, viene visualizzato un errore dopo l'invio del modello.If the values you provide are already in use, or do not follow the guidelines, you get an error after you have submitted the template.

    Modello iniziale di Resource Manager per HDInsight basato su Linux nel portaleHDInsight Linux gets started Resource Manager template on portal

  3. Leggere quanto riportato in CONDIZIONI.Review the TERMS AND CONDITIONS. Selezionare quindi Accetto le condizioni riportate sopra e infine Acquista.Then select I agree to the terms and conditions stated above, then Purchase. Si riceverà una notifica che informa che la distribuzione è in corso.You'll receive a notification that your deployment is in progress. La creazione di un cluster richiede circa 20 minuti.It takes about 20 minutes to create a cluster.

Esaminare le risorse distribuiteReview deployed resources

Al termine della creazione del cluster, si riceverà una notifica con il messaggio La distribuzione è riuscita e un collegamento Vai alla risorsa.Once the cluster is created, you'll receive a Deployment succeeded notification with a Go to resource link. Nella pagina del gruppo di risorse saranno presenti il nuovo cluster HDInsight e l'archivio predefinito associato al cluster.Your Resource group page will list your new HDInsight cluster and the default storage associated with the cluster. Ogni cluster ha una dipendenza da un account di archiviazione di Azure o un account Azure Data Lake Storage.Each cluster has an Azure Storage account or an Azure Data Lake Storage account dependency. Viene indicato come account di archiviazione predefinito.It's referred as the default storage account. Il cluster HDInsight e il relativo account di archiviazione predefinito devono avere un percorso condiviso nella stessa area di Azure.The HDInsight cluster and its default storage account must be colocated in the same Azure region. L'eliminazione dei cluster non comporta l'eliminazione dell'account di archiviazione.Deleting clusters doesn't delete the storage account.

Nota

Per altri metodi di creazione di cluster e per informazioni sulle proprietà usate in questo argomento di avvio rapido, vedere Creare cluster HDInsight.For other cluster creation methods and understanding the properties used in this quickstart, see Create HDInsight clusters.

Pulire le risorseClean up resources

Al termine dell'argomento di avvio rapido, può essere opportuno eliminare il cluster.After you complete the quickstart, you may want to delete the cluster. Con HDInsight, i dati vengono archiviati in Archiviazione di Azure ed è possibile eliminare tranquillamente un cluster quando non è in uso.With HDInsight, your data is stored in Azure Storage, so you can safely delete a cluster when it isn't in use. Vengono addebitati i costi anche per i cluster HDInsight che non sono in uso.You're also charged for an HDInsight cluster, even when it isn't in use. 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.Since the charges for the cluster are many times more than the charges for storage, it makes economic sense to delete clusters when they aren't in use.

Nota

Se si procede subito con l'esercitazione successiva per imparare come eseguire le operazioni ETL mediante Hadoop in HDInsight, è possibile mantenere il cluster in esecuzione,If you are immediately proceeding to the next tutorial to learn how to run ETL operations using Hadoop on HDInsight, you may want to keep the cluster running. poiché nell'esercitazione è necessario creare nuovamente un cluster Hadoop.This is because in the tutorial you have to create a Hadoop cluster again. Se invece non si prevede di passare subito all'esercitazione successiva, è necessario eliminare il cluster ora.However, if you are not going through the next tutorial right away, you must delete the cluster now.

Nel portale di Azure passare al cluster e selezionare Elimina.From the Azure portal, navigate to your cluster, and select Delete.

Eliminazione del cluster HDInsight dal portaleHDInsight delete cluster from portal

È anche possibile selezionare il nome del gruppo di risorse per aprire la pagina del gruppo di risorse e quindi selezionare Elimina gruppo di risorse.You can also select the resource group name to open the resource group page, and then select Delete resource group. Eliminando il gruppo di risorse, si elimina sia il cluster HDInsight che l'account di archiviazione predefinito.By deleting the resource group, you delete both the HDInsight cluster, and the default storage account.

Passaggi successiviNext steps

Questo argomento di avvio rapido illustra come creare un cluster Apache Hadoop in HDInsight tramite un modello di Resource Manager.In this quickstart, you learned how to create an Apache Hadoop cluster in HDInsight using a Resource Manager template. Passare all'articolo successivo per informazioni su come eseguire un'operazione di estrazione, trasformazione e caricamento (ETL) usando Hadoop in HDInsight.In the next article, you learn how to perform an extract, transform, and load (ETL) operation using Hadoop on HDInsight.