Inicio rápido: Creación de clústeres de Apache Hadoop en Azure HDInsight con plantillas de Resource ManagerQuickstart: Create Apache Hadoop cluster in Azure HDInsight using Resource Manager template

En este inicio rápido, se usa una plantilla de Azure Resource Manager para crear un clúster de Apache Hadoop en Azure HDInsight.In this quickstart, you use an Azure Resource Manager template to create an Apache Hadoop cluster in Azure HDInsight. Hadoop era el entorno de trabajo de código abierto original para el procesamiento distribuido y análisis de macrodatos en clústeres.Hadoop was the original open-source framework for distributed processing and analysis of big data sets on clusters. El ecosistema de Hadoop incluye utilidades y software relacionados, como Apache Hive, Apache HBase, Spark, Kafka, entre otros muchos.The Hadoop ecosystem includes related software and utilities, including Apache Hive, Apache HBase, Spark, Kafka, and many others.

La plantilla de Resource Manager es un archivo JSON (notación de objetos JavaScript) que contiene la infraestructura y la configuración del proyecto.Resource Manager template is a JavaScript Object Notation (JSON) file that defines the infrastructure and configuration for your project. La plantilla usa sintaxis declarativa, lo que permite establecer lo que pretende implementar sin tener que escribir la secuencia de comandos de programación para crearla.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. Si desea más información sobre el desarrollo de plantillas de Resource Manager, consulte la documentación de Resource Manager y la referencia de la plantilla.If you want to learn more about developing Resource Manager templates, see Resource Manager documentation and the template reference.

Actualmente HDInsight tiene siete tipos diferentes de clúster.Currently HDInsight comes with seven different cluster types. Cada uno de estos tipos de clúster es compatible con un conjunto de componentes diferente.Each cluster type supports a different set of components. Todos los tipos de clúster son compatibles con Hive.All cluster types support Hive. Para ver una lista de los componentes compatibles con HDInsight, consulte Novedades en las versiones de clústeres de Hadoop proporcionadas por HDInsightFor a list of supported components in HDInsight, see What's new in the Hadoop cluster versions provided by HDInsight?

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

Creación de un clúster de Apache HadoopCreate an Apache Hadoop cluster

Revisión de la plantillaReview the template

La plantilla usada en este inicio rápido forma parte de las plantillas de inicio rápido de 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."
      }
    }
  },
  "variables": {
    "defaultStorageAccount": {
      "name": "[uniqueString(resourceGroup().id)]",
      "type": "Standard_LRS"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[variables('defaultStorageAccount').name]",
      "location": "[parameters('location')]",
      "apiVersion": "2016-01-01",
      "sku": {
        "name": "[variables('defaultStorageAccount').type]"
      },
      "kind": "Storage",
      "properties": {}
    },
    {
      "type": "Microsoft.HDInsight/clusters",
      "name": "[parameters('clusterName')]",
      "location": "[parameters('location')]",
      "apiVersion": "2015-03-01-preview",
      "dependsOn": [
        "[concat('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(concat('Microsoft.Storage/storageAccounts/', variables('defaultStorageAccount').name), '2016-01-01').primaryEndpoints.blob),'https:',''),'/','')]",
              "isDefault": true,
              "container": "[parameters('clusterName')]",
              "key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name), '2016-01-01').keys[0].value]"
            }
          ]
        },
        "computeProfile": {
          "roles": [
            {
              "name": "headnode",
              "targetInstanceCount": 2,
              "hardwareProfile": {
                "vmSize": "Standard_D3_v2"
              },
              "osProfile": {
                "linuxOperatingSystemProfile": {
                  "username": "[parameters('sshUserName')]",
                  "password": "[parameters('sshPassword')]"
                }
              }
            },
            {
              "name": "workernode",
              "targetInstanceCount": 2,
              "hardwareProfile": {
                "vmSize": "Standard_D3_v2"
              },
              "osProfile": {
                "linuxOperatingSystemProfile": {
                  "username": "[parameters('sshUserName')]",
                  "password": "[parameters('sshPassword')]"
                }
              }
            }
          ]
        }
      }
    }
  ],
  "outputs": {
    "storage": {
      "type": "object",
      "value": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name))]"
    },
    "cluster": {
      "type": "object",
      "value": "[reference(resourceId('Microsoft.HDInsight/clusters',parameters('clusterName')))]"
    }
  }
}

En la plantilla se definen dos recursos de Azure:Two Azure resources are defined in the template:

Implementación de la plantillaDeploy the template

  1. Seleccione el botón Implementar en Azure siguiente para iniciar sesión en Azure y abrir la plantilla de 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. Escriba o seleccione los siguientes valores:Enter or select the following values:

    PropiedadProperty DescripciónDescription
    SubscriptionSubscription En la lista desplegable, seleccione la suscripción de Azure que se usa para el clúster.From the drop-down list, select the Azure subscription that's used for the cluster.
    Resource groupResource group En la lista desplegable, seleccione el grupo de recursos existente o seleccione Crear.From the drop-down list, select your existing resource group, or select Create new.
    LocationLocation El valor se rellenará automáticamente con la ubicación usada para el grupo de recursos.The value will autopopulate with the location used for the resource group.
    Cluster NameCluster Name Escriba un nombre único global.Enter a globally unique name. Use solo letras minúsculas y números para esta plantilla.For this template, use only lowercase letters, and numbers.
    Tipo de clústerCluster Type Seleccione hadoop.Select hadoop.
    Cluster Login User Name (Nombre de usuario de inicio de sesión del clúster)Cluster Login User Name Proporcione el nombre de usuario; el valor predeterminado es admin.Provide the username, default is admin.
    Cluster Login Password (Contraseña de inicio de sesión del clúster)Cluster Login Password Indique una contraseña.Provide a password. La contraseña debe tener un mínimo de 10 caracteres y contener al menos un dígito, una letra mayúscula y una letra minúscula, y un carácter no alfanumérico (excepto los caracteres ' " y `).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 ' " ` ).
    Nombre de usuario de SSHSsh User Name Proporcione el nombre de usuario; el valor predeterminado es sshuser.Provide the username, default is sshuser
    Contraseña de SSHSsh Password Proporcione la contraseña.Provide the password.

    Algunas propiedades se han codificado de forma rígida en la plantilla.Some properties have been hardcoded in the template. Puede configurar estos valores desde la plantilla.You can configure these values from the template. Para más información acerca de estas propiedades, consulte este artículo sobre la creación de clústeres de Apache Hadoop en HDInsight.For more explanation of these properties, see Create Apache Hadoop clusters in HDInsight.

    Nota

    Los valores que proporcione deben ser exclusivos y deben seguir las directrices de nomenclatura.The values you provide must be unique and should follow the naming guidelines. La plantilla no realiza comprobaciones de validación.The template does not perform validation checks. Si los valores proporcionados ya están en uso o no sigue las directrices, obtendrá un error después de haber enviado la plantilla.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.

    HDInsight Linux: información general sobre la plantilla de Resource Manager en el portalHDInsight Linux gets started Resource Manager template on portal

  3. Revise los TÉRMINOS Y CONDICIONES.Review the TERMS AND CONDITIONS. A continuación, seleccione Acepto los términos y condiciones indicados anteriormente y, después, seleccione Comprar.Then select I agree to the terms and conditions stated above, then Purchase. Recibirá una notificación de que la implementación está en curso.You'll receive a notification that your deployment is in progress. Se tarda aproximadamente 20 minutos en crear un clúster.It takes about 20 minutes to create a cluster.

Revisión de los recursos implementadosReview deployed resources

Una vez que se cree el clúster, recibirá una notificación de Implementación correcta con el vínculo Ir al recurso.Once the cluster is created, you'll receive a Deployment succeeded notification with a Go to resource link. La página Grupo de recursos mostrará el nuevo clúster de HDInsight y el almacenamiento predeterminado asociado con el clúster.Your Resource group page will list your new HDInsight cluster and the default storage associated with the cluster. Cada clúster depende de una cuenta de Azure Storage o de una cuenta de Azure Data Lake Storage.Each cluster has an Azure Storage account or an Azure Data Lake Storage account dependency. Se conoce como cuenta de almacenamiento predeterminada.It's referred as the default storage account. El clúster de HDInsight y su cuenta de almacenamiento predeterminada deben estar en la misma región de Azure.The HDInsight cluster and its default storage account must be colocated in the same Azure region. Al eliminar los clústeres no se elimina la cuenta de almacenamiento.Deleting clusters doesn't delete the storage account.

Nota

Para conocer otros métodos de creación de clústeres y las propiedades que se usan en este inicio rápido, vea Creación de clústeres en HDInsight.For other cluster creation methods and understanding the properties used in this quickstart, see Create HDInsight clusters.

Limpieza de recursosClean up resources

Después de completar el inicio rápido, puede ser conveniente eliminar el clúster.After you complete the quickstart, you may want to delete the cluster. Con HDInsight, los datos se almacenan en Azure Storage, por lo que puede eliminar un clúster de forma segura cuando no se esté usando.With HDInsight, your data is stored in Azure Storage, so you can safely delete a cluster when it isn't in use. Los clústeres de HDInsight se cobran aunque no se estén usando.You're also charged for an HDInsight cluster, even when it isn't in use. Como en muchas ocasiones los cargos por el clúster son mucho más elevados que los cargos por el almacenamiento, desde el punto de vista económico tiene sentido eliminar clústeres cuando no se usen.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

Si avanza de inmediato al siguiente tutorial para aprender a ejecutar operaciones de ETL con Hadoop en HDInsight, es posible que quiera mantener el clúster en ejecución.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. Esto es porque en el tutorial tendrá que crear un clúster de Hadoop de nuevo.This is because in the tutorial you have to create a Hadoop cluster again. Sin embargo, si no va a continuar con el próximo tutorial de inmediato, debe eliminar el clúster ahora.However, if you are not going through the next tutorial right away, you must delete the cluster now.

En Azure Portal, vaya al clúster y seleccione Eliminar.From the Azure portal, navigate to your cluster, and select Delete.

HDInsight: eliminación de un clúster del portalHDInsight delete cluster from portal

También puede seleccionar el nombre del grupo de recursos para abrir la página del grupo de recursos y, a continuación, seleccionar Eliminar grupo de recursos.You can also select the resource group name to open the resource group page, and then select Delete resource group. Al eliminar el grupo de recursos, se eliminan tanto el clúster de HDInsight como la cuenta de almacenamiento predeterminada.By deleting the resource group, you delete both the HDInsight cluster, and the default storage account.

Pasos siguientesNext steps

En este inicio rápido, ha aprendido a crear un clúster de Apache Hadoop en HDInsight con una plantilla de Resource Manager.In this quickstart, you learned how to create an Apache Hadoop cluster in HDInsight using a Resource Manager template. En el siguiente artículo, aprenderá a realizar una operación ETL (extraer, transformar y cargar) con Hadoop en HDInsight.In the next article, you learn how to perform an extract, transform, and load (ETL) operation using Hadoop on HDInsight.