Creación de clústeres de HDInsight mediante la CLI de Azure

En este documento, se explica paso a paso cómo crear un clúster de HDInsight 4.0 mediante la CLI de Azure.

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.

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Requisitos previos

Crear un clúster

  1. Inicie sesión en la suscripción de Azure. Si va a usar Azure Cloud Shell, seleccione Probar en la esquina superior derecha del bloque de código. De lo contrario, escriba el comando siguiente:

    az login
    
    # If you have multiple subscriptions, set the one to use
    # az account set --subscription "SUBSCRIPTIONID"
    
  2. Establezca las variables de entorno. En este artículo, el uso de variables se basa en Bash. Se necesitan ligeras variaciones con otros entornos. Vea az-hdinsight-create para obtener una lista completa de los parámetros posibles para la creación del clúster.

    Parámetro Descripción
    --workernode-count Número de nodos de trabajo del clúster. En este artículo se usa la variable clusterSizeInNodes como el valor que se pasa a --workernode-count.
    --version versión del clúster de HDInsight. En este artículo se usa la variable clusterVersion como el valor que se pasa a --version. Consulte también: Versiones compatibles de HDInsight.
    --type Tipo de clúster de HDInsight, como hadoop, interactivehive, hbase, kafka, spark, rserver, mlservices. En este artículo se usa la variable clusterType como el valor que se pasa a --type. Consulte también: Tipos y configuración de clústeres.
    --component-version Las versiones de los distintos componentes de Hadoop, en versiones separadas por espacios con el formato "componente=versión". En este artículo se usa la variable componentVersion como el valor que se pasa a --component-version. Consulte también: Componentes de Hadoop.

    Reemplace RESOURCEGROUPNAME, LOCATION, CLUSTERNAME, STORAGEACCOUNTNAME y PASSWORD por los valores adecuados. Cambie los valores de las demás variables según sea necesario. Después, escriba los comandos de la CLI.

    export resourceGroupName=RESOURCEGROUPNAME
    export location=LOCATION
    export clusterName=CLUSTERNAME
    export AZURE_STORAGE_ACCOUNT=STORAGEACCOUNTNAME
    export httpCredential='PASSWORD'
    export sshCredentials='PASSWORD'
    
    export AZURE_STORAGE_CONTAINER=$clusterName
    export clusterSizeInNodes=1
    export clusterVersion=4.0
    export clusterType=hadoop
    export componentVersion=Hadoop=3.1
    
  3. Para crear el grupo de recursos, escriba el siguiente comando:

    az group create \
        --location $location \
        --name $resourceGroupName
    

    Para obtener una lista de las ubicaciones válidas, use el comando az account list-locations y luego una de las ubicaciones del valor name.

  4. Cree una cuenta de Azure Storage escribiendo el comando siguiente:

    # Note: kind BlobStorage is not available as the default storage account.
    az storage account create \
        --name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --https-only true \
        --kind StorageV2 \
        --location $location \
        --sku Standard_LRS
    
  5. Extraiga la clave principal de la cuenta de Azure Storage y almacénela en una variable con el comando siguiente:

    export AZURE_STORAGE_KEY=$(az storage account keys list \
        --account-name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --query [0].value -o tsv)
    
  6. Para crear un contenedor de Azure Storage, escriba el comando siguiente:

    az storage container create \
        --name $AZURE_STORAGE_CONTAINER \
        --account-key $AZURE_STORAGE_KEY \
        --account-name $AZURE_STORAGE_ACCOUNT
    
  7. Cree el clúster de HDInsight con el comando siguiente:

    az hdinsight create \
        --name $clusterName \
        --resource-group $resourceGroupName \
        --type $clusterType \
        --component-version $componentVersion \
        --http-password $httpCredential \
        --http-user admin \
        --location $location \
        --workernode-count $clusterSizeInNodes \
        --ssh-password $sshCredentials \
        --ssh-user sshuser \
        --storage-account $AZURE_STORAGE_ACCOUNT \
        --storage-account-key $AZURE_STORAGE_KEY \
        --storage-container $AZURE_STORAGE_CONTAINER \
        --version $clusterVersion
    

    Importante

    Los clústeres de HDInsight incluyen diversos tipos, que corresponden a la carga de trabajo o la tecnología para los que el clúster está optimizado. No hay ningún método admitido para crear un solo clúster que combine varios tipos, como HBase.

    El proceso de creación del clúster puede tardar varios minutos en completarse. de creación del clúster.

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

Una vez creado correctamente un clúster de HDInsight mediante la CLI de Azure, use los siguientes vínculos para aprender a trabajar con él:

Clústeres de Apache Hadoop

Clústeres de Apache HBase