Creación de un clúster con Data Lake Storage Gen2 mediante la CLI de Azure

Para crear un clúster de HDInsight que use Data Lake Storage Gen2 para el almacenamiento, siga estos pasos.

Requisitos previos

  • Si no está familiarizado con Azure Data Lake Storage Gen2, consulte la sección de introducción.
  • Si aún no tiene una cuenta de Azure, regístrese para una cuenta gratuita antes de continuar.
  • Para ejecutar los ejemplos de script de la CLI, tiene tres opciones:
    • Usar Azure Cloud Shell desde Azure Portal (consulte la sección siguiente).
    • Usar Azure Cloud Shell integrado a través del botón "Pruébelo", situado en la esquina superior derecha de cada bloque de código.
    • Instale la versión más reciente de la CLI de Azure (2.0.13 o posterior) si prefiere usar una consola de CLI local. Inicie sesión en Azure con az login, usando una cuenta asociada a la suscripción de Azure en la que desearía implementar la CLI de Azure de la identidad administrada asignada por el usuario.

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Button to launch Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Advertencia

La facturación de los clústeres de HDInsight se prorratea por minuto, tanto si se usan como si no. Por consiguiente, asegúrese de eliminar el clúster cuando termine de usarlo. Consulte Eliminación de un clúster de HDInsight.

Puede descargar un archivo de plantilla de muestra y descargar un archivo de parámetros de muestra. Antes de usar la plantilla y el fragmento de código de la CLI de Azure que aparecen a continuación, reemplace estos marcadores de posición por sus valores correctos:

Marcador de posición Descripción
<SUBSCRIPTION_ID> Identificador de la suscripción de Azure
<RESOURCEGROUPNAME> El grupo de recursos donde quiere crear el nuevo clúster y la cuenta de almacenamiento.
<MANAGEDIDENTITYNAME> El nombre de la identidad administrada a la que se concederán permisos en la cuenta de almacenamiento con Azure Data Lake Storage Gen2.
<STORAGEACCOUNTNAME> La nueva cuenta de almacenamiento con Azure Data Lake Storage Gen2 que se creará.
<FILESYSTEMNAME> Nombre del sistema de archivos que este clúster debe usar en la cuenta de almacenamiento.
<CLUSTERNAME> El nombre del clúster de HDInsight.
<PASSWORD> La contraseña elegida para iniciar sesión en el clúster mediante SSH y el panel de Ambari.

El siguiente fragmento de código realiza los pasos iniciales siguientes:

  1. Inicia sesión en la cuenta de Azure.
  2. Establece la suscripción activa donde se realizarán las operaciones de creación.
  3. Crea un nuevo grupo de recursos para las nuevas actividades de implementación.
  4. Crea una identidad administrada asignada por el usuario.
  5. Agrega una extensión a la CLI de Azure para usar las características para Data Lake Storage Gen2.
  6. Crea una nueva cuenta de almacenamiento con Data Lake Storage Gen2 mediante el uso de la marca --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

Después, inicie sesión en el portal. Agregue la nueva identidad administrada asignada por el usuario al rol Propietario de datos de blobs de almacenamiento en la cuenta de almacenamiento. Este paso se describe en el paso 3, en Uso de Azure Portal.

Importante

Asegúrese de que la cuenta de almacenamiento tenga la identidad asignada por el usuario con permisos de rol de Propietario de datos de blobs de almacenamiento; de lo contrario, se producirá un error en la creación del clúster.

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

Limpieza de recursos

Después de completar el artículo, puede eliminar el clúster. 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. También se le cobrará por un clúster de HDInsight aunque no se esté usando. 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.

Escriba todos o algunos de los siguientes comandos para quitar recursos:

# 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

Solución de problemas

Si experimenta problemas con la creación de clústeres de HDInsight, consulte los requisitos de control de acceso.

Pasos siguientes

Ha creado correctamente un clúster de HDInsight. Ahora puede aprender a trabajar con el clúster.

Clústeres de Apache Spark

Clústeres de Apache Hadoop

Clústeres de Apache HBase