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
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Crear un clúster
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"
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 variableclusterType
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
yPASSWORD
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
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 valorname
.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
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)
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
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: