Configuración de clústeres en HDInsight con Apache Hadoop, Spark, Kafka, etc.
En este artículo, aprenderá a configurar Apache Hadoop, Apache Spark, Apache Kafka, Interactive Query o Apache HBase en Azure HDInsight. También aprenderá a personalizar clústeres y a agregar seguridad uniéndolos a un dominio.
Un clúster de Hadoop se compone de varias máquinas virtuales (también conocidas como nodos) que se usan para el procesamiento distribuido de tareas. HDInsight controla los detalles de implementación de la instalación y configuración de nodos individuales. Solo se proporciona información de configuración general.
Importante
La facturación del clúster de HDInsight se inicia una vez creado el clúster y se detiene cuando se elimina. La facturación se prorratea por minuto, por lo que siempre se debe eliminar el clúster cuando ya no está en uso. Aprenda a eliminar un clúster.
Si usa varios clústeres juntos, quiere crear una red virtual. Si usa un clúster de Spark, también quiere usar el Hive Warehouse Connector. Para más información, consulte Planificación de una red virtual para Azure HDInsight e Integración de Apache Spark y Apache Hive con el conector de Hive Warehouse.
Métodos de configuración de clústeres
La tabla siguiente muestra los distintos métodos que se pueden usar para configurar un clúster de HDInsight.
Clústeres creados con | Explorador web | Línea de comandos | API DE REST | SDK |
---|---|---|---|---|
Azure Portal | ✅ | |||
Azure Data Factory | ✅ | ✅ | ✅ | ✅ |
CLI de Azure | ✅ | |||
Azure PowerShell | ✅ | |||
cURL | ✅ | ✅ | ||
Plantillas del Administrador de recursos de Azure | ✅ |
Este artículo le guía a lo largo del proceso de configuración en Azure Portal, donde puede crear un clúster de HDInsight.
Aspectos básicos
Detalles del proyecto
Azure Resource Manager lo ayuda a trabajar con los recursos de la aplicación como grupo, al que se conoce como grupo de recursos de Azure. Puede implementar, actualizar, supervisar o eliminar todos los recursos de la aplicación en una operación única y coordinada.
Detalles del clúster
Los detalles del clúster incluyen el nombre, la región, el tipo y la versión.
Nombre del clúster
Los nombres de clúster de HDInsight tienen las siguientes restricciones:
- Caracteres permitidos: a-z, 0-9 y A-Z
- Longitud máxima: 59
- Nombres reservados: aplicaciones
- Nombre de clúster: el ámbito es para todas las suscripciones de Azure. El nombre del clúster debe ser único en todo el mundo. Los seis primeros caracteres deben ser únicos en una red virtual.
Region
No es preciso que especifique la ubicación del clúster explícitamente. El clúster se encuentra en la misma ubicación que el almacenamiento predeterminado. Si desea obtener una lista de las regiones admitidas, seleccione la lista desplegable Región en HDInsight pricing (Precios de HDInsight).
Tipo de clúster
En la tabla siguiente, HDInsight proporciona actualmente los tipos de clúster, cada uno con un conjunto de componentes para proporcionar determinadas funcionalidades.
Importante
Los clústeres de HDInsight están disponibles en distintos tipos, cada uno de ellos para una carga de trabajo o una tecnología única. No hay ningún método admitido para crear un solo clúster que combine varios tipos, como HBase. Si la solución requiere tecnologías repartidas entre varios tipos de clústeres de HDInsight, una red virtual de Azure puede conectar los tipos de clústeres necesarios.
Tipo de clúster | Funcionalidad |
---|---|
Hadoop | Consulta por lotes y análisis de datos almacenados. |
HBase | Procesamiento de grandes cantidades de datos NoSQL sin esquema. |
Interactive Query | almacenamiento en caché en memoria para realizar consultas de Hive interactivas y más rápidas. |
Kafka | Una plataforma de streaming distribuida que se puede utilizar para compilar aplicaciones y canalizaciones de datos de streaming en tiempo real. |
Spark | Procesamiento en memoria, consultas interactivas, procesamiento de transmisión de microlotes. |
Versión
Elija la versión de HDInsight para este clúster. Para más información, consulte Versiones compatibles de HDInsight.
Credenciales del clúster
Con los clústeres de HDInsight, puede configurar dos cuentas de usuario durante la creación del clúster:
- Nombre de usuario de inicio de sesión del clúster: el nombre predeterminado es administrador. Emplea la configuración básica en el portal de Azure. También se denomina Usuario de clúster o Usuario HTTP.
- Nombre de usuario de Secure Shell (SSH): se usa para conectarse al clúster a través de SSH. Para más información, consulte Uso SSH con HDInsight.
El nombre de usuario de HTTP tiene las siguientes restricciones:
- Caracteres especiales permitidos: _ y @
- Caracteres no permitidos: #;."',',/:!*?$(){}[]<>|&--=+%~^space
- Longitud máxima: 20
El nombre de usuario de SSH tiene las siguientes restricciones:
- Caracteres especiales permitidos: _ y @
- Caracteres no permitidos: #;."',',/:!*?$(){}[]<>|&--=+%~^space
- Longitud máxima: 64
- Nombres reservados: hadoop, users, oozie, hive, mapred, ambari-qa, zookeeper, tez, hdfs, sqoop, yarn, hcat, ams, hbase, administrator, admin, user, user1, test, user2, test1, user3, admin1, 1, 123, a, actuser, adm, admin2, aspnet, backup, console, David, guest, John, owner, root, server, sql, support, support_388945a0, sys, test2, test3, user4, user5, spark
Storage
Aunque una instalación local de Hadoop usa el sistema de archivos distribuido de Hadoop (HDFS) para el almacenamiento en el clúster, en la nube se usan puntos de conexión de almacenamiento conectados al clúster. El empleo de almacenamiento en la nube significa que puede eliminar con seguridad los clústeres de HDInsight usados para el cálculo y, al mismo tiempo, conservar los datos.
Los clústeres de HDInsight pueden usar las siguientes opciones de almacenamiento:
- Azure Data Lake Storage Gen2
- Azure Storage de uso general v2
- Blob en bloques de Azure Storage (solo se admite como almacenamiento secundario)
Para más información sobre las opciones de almacenamiento con HDInsight, consulte Comparación de opciones de almacenamiento para usar con clústeres de Azure HDInsight.
No se admite el uso de más cuentas de almacenamiento en una ubicación diferente del clúster de HDInsight.
Durante la configuración se especifica un contenedor de blobs de una cuenta de almacenamiento o de Data Lake Storage para el punto de conexión de almacenamiento predeterminado. El almacenamiento predeterminado contiene los registros del sistema y de la aplicación. De manera opcional, puede especificar más cuentas vinculadas de almacenamiento y cuentas de Data Lake Storage a las que el clúster pueda acceder. El clúster de HDInsight y las cuentas de almacenamiento dependientes deben estar en la misma ubicación de Azure.
Nota
La característica que requiere una transferencia segura aplica todas las solicitudes a su cuenta mediante una conexión segura. Esta característica solo es compatible con la versión de clúster de HDInsight 3.6 o posterior. Para más información, consulte Creación de un clúster de Apache Hadoop con cuentas de almacenamiento de transferencia segura en Azure HDInsight.
No habilite la transferencia de almacenamiento segura después de crear un clúster porque el uso de la cuenta de almacenamiento puede producir errores. Es mejor crear un clúster nuevo mediante una cuenta de almacenamiento que ya tenga habilitada la transferencia segura.
HDInsight no transfiere, mueve ni copia automáticamente los datos almacenados en el almacenamiento de una región a otra.
Configuración de metastores
Puede crear tiendas de metadatos opcionales de Hive o Apache Oozie. No todos los tipos de clúster admiten metastores y Azure Synapse Analytics no es compatible con los metastores.
Para más información, consulte Use external metadata stores in Azure HDInsight (Uso de almacenes externos de metadatos en Azure HDInsight).
Cuando cree una tienda de metadatos personalizada, no use guiones ni espacios en el nombre de la base de datos. Estos caracteres podrían provocar que el proceso de creación del clúster produzca errores.
Base de datos SQL para Hive
Si quiere conservar las tablas de Hive después de eliminar un clúster de HDInsight, use una tienda de metadatos personalizada. Luego puede adjuntar la tienda de metadatos a otro clúster de HDInsight.
Un metastore de HDInsight creado para una versión del clúster de HDInsight no se puede compartir entre diferentes versiones del clúster de HDInsight. Para obtener una lista de versiones de HDInsight, consulte Versiones compatibles de HDInsight.
Puede usar las identidades administradas para autenticarse con SQL Database para Hive. Para obtener más información, consulte Use una identidad administrada para la autenticación de SQL Database en Azure HDInsight.
El metastore predeterminado proporciona una instancia de SQL Database con un límite de 5 DTU de nivel básico (no actualizable). Esto resulta adecuado para la realización de pruebas básicas. En el caso de las cargas de trabajo de producción o de gran volumen, se recomienda migrar a un metastore externo.
Base de datos SQL para Oozie
Para aumentar el rendimiento al usar Oozie, utilice un metastore personalizado. Una tienda de metadatos también puede proporcionar acceso a datos de trabajo de Oozie después de eliminar el clúster.
Puede usar las identidades administradas para autenticarse con SQL Database para Oozie. Para obtener más información, consulte Use una identidad administrada para la autenticación de SQL Database en Azure HDInsight.
Base de datos SQL para Ambari
Ambari se usa para supervisar clústeres de HDInsight, realizar cambios en la configuración y almacenar información de administración del clúster, así como, el historial de trabajos. Con la característica de base de datos de Ambari personalizada, puede implementar un nuevo clúster y configurar Ambari en una base de datos externa que administre. Para obtener más información, consulte Custom Ambari database (Base de datos de Ambari personalizada).
Puede usar las identidades administradas para autenticarse con SQL Database para Ambari. Para obtener más información, consulte Use una identidad administrada para la autenticación de SQL Database en Azure HDInsight.
No puede volver a usar un Oozie metastore personalizado. Para usar un metastore de Oozie personalizado, debe proporcionar una base de datos SQL vacía al crear el clúster de HDInsight.
Seguridad y redes
Paquete de seguridad de la empresa
En el caso de los tipos de clúster de Hadoop, Spark, HBase, Kafka e Interactive Query, puede optar por habilitar Enterprise Security Package. Este paquete proporciona la opción de tener una configuración de clúster más segura mediante Apache Ranger e integrándolo con Microsoft Entra. Para más información, consulte el Introducción a la seguridad de la empresa en Azure HDInsight.
Con Enterprise Security Package, puede integrar HDInsight con Microsoft Entra y Apache Ranger. Se pueden crear varios usuarios con Enterprise Security Package.
Para obtener más información sobre cómo crear un clúster de HDInsight unido a un dominio, consulte Create domain-joined HDInsight sandbox environment (Creación de un entorno de espacio aislado de HDInsight unido a un dominio).
Seguridad de la capa de transporte
Para más información, consulte Seguridad de la capa de transporte.
Red virtual
Si la solución requiere tecnologías repartidas entre varios tipos de clústeres de HDInsight, una red virtual de Azure puede conectar los tipos de clústeres necesarios. Esta configuración permite que los clústeres, y cualquier otro código que se implemente en ellos, se comuniquen directamente entre sí.
Para más información acerca del uso de una red virtual de Azure con HDInsight, consulte Planeamiento de una red virtual para HDInsight.
Para ver un ejemplo de cómo usar dos tipos de clúster en una red virtual de Azure, consulte Uso del flujo estructurado de Apache Spark con Apache Kafka en HDInsight. Para más información acerca del uso de HDInsight con una red virtual, incluidos los requisitos de configuración específicos de la red virtual, consulte Planeamiento de una red virtual para HDInsight.
Configuración de cifrado de disco
Para obtener más información, consulte Cifrado de disco mediante claves administradas por el cliente.
Proxy de REST de Kafka
Esta configuración solo está disponible para el tipo de clúster de Kafka. Para más información, consulte Uso de un proxy de REST.
Identidad
Para obtener más información, consulte Identidades administradas en Azure HDInsight.
Configuración y precios
Mientras que exista el clúster, se le facturará por el uso de nodos. La facturación se inicia una vez creado el clúster y se detiene cuando se elimina el clúster. Los clústeres no se pueden desasignar ni ponerse en espera.
Configuración del nodo
Cada tipo de clúster tiene su propio número de nodos, terminología para los nodos y tamaño de máquina virtual predeterminado. En la siguiente tabla, el número de nodos de cada tipo se muestra entre paréntesis.
Tipo | Nodos | Diagrama |
---|---|---|
Hadoop | Nodo principal (2), nodo de trabajo (1+) |
![]() |
HBase | Servidor principal (2), servidor de región (más de 1), nodo maestro/ZooKeeper (3) |
![]() |
Spark | Nodo principal (2), nodo de trabajo (más de 1), nodo ZooKeeper (3) (gratis para el tamaño de máquina virtual ZooKeeper A1) |
![]() |
Para obtener más información, consulte Default node configuration and VM sizes for clusters (Configuración predeterminada de nodos y tamaños de máquina virtual para clústeres).
El costo de los clústeres de HDInsight viene determinado por el número de nodos y por los tamaños de las máquinas virtuales de los nodos.
Los distintos tipos de clúster tienen distintos tipos, número y tamaños de nodos:
Tipo de clúster predeterminado de Hadoop:
- Dos nodos principales
- Cuatro nodos de trabajo
Si simplemente está probando HDInsight, se recomienda usar un nodo de trabajo. Para más información sobre los precios de HDInsight, vea HDInsight Precios.
Nota
El límite de tamaño del clúster varía entre las suscripciones a Azure. Póngase en contacto con el servicio de soporte técnico de facturación de Azure para aumentar el límite.
Al usar Azure Portal para configurar el clúster, el tamaño del nodo está disponible en la pestaña Configuración y precios. En el portal también puede ver el costo asociado a los diferentes tamaños de nodo.
Tamaños de máquina virtual
Al implementar clústeres, elija recursos de proceso en función de la solución que planea implementar. Las máquinas virtuales siguientes se usan para clústeres de HDInsight:
- Máquinas virtuales de las series A y D1-4: Tamaños de máquinas virtuales Linux para uso general
- Máquinas virtuales de la serie D11-14: Tamaños de máquinas virtuales Linux optimizadas para memoria
Para averiguar qué valor debe usar para especificar un tamaño de máquina virtual al crear un clúster mediante los distintos SDK o Azure PowerShell, consulte VM sizes to use for HDInsight clusters (Tamaños de máquina virtual que se usarán para clústeres de HDInsight). Use el valor de la columna Tamaño de las tablas de este artículo vinculado.
Importante
Si necesita más de 32 nodos de trabajo en un clúster, tiene que seleccionar un tamaño de nodo principal con al menos 8 núcleos y 14 GB de RAM.
Para obtener más información, consulte Tamaños de máquinas virtuales. Para más información sobre los precios de los diferentes tamaños, consulte Precios de HDInsight.
Conexión de discos
Nota:
Los discos agregados solo están configurados para los directorios locales del administrador de nodos y no para los directorios de nodos de datos
El clúster de HDInsight incluye espacio en disco predefinido basado en la versión. La ejecución de algunas aplicaciones grandes puede provocar un espacio en disco insuficiente, con el error completo del disco LinkId=221672#ERROR_NOT_ENOUGH_DISK_SPACE
y errores de trabajo.
Puede agregar más discos al clúster mediante la nueva característica del directorio local NodeManager. En el momento de la creación del clúster de Hive y Spark, puede seleccionar el número de discos y agregarlos a los nodos de trabajo. Los discos seleccionados pueden ser de 1 TB cada uno y forman parte de los directorios locales de NodeManager.
- En la pestaña Configuración y precios, seleccione Habilitar disco administrado.
- En Discos estándar, escriba el número de discos.
- Seleccione el nodo de trabajo.
Puede comprobar el número de discos en la pestaña Revisar y crear , en Configuración del clúster.
Adición de aplicación
Puede instalar aplicaciones de HDInsight en un clúster de HDInsight basado en Linux. Puede usar aplicaciones proporcionadas por Microsoft o terceros o que haya desarrollado. Para más información, consulte Instalación de aplicaciones de Apache Hadoop de terceros en Azure HDInsight.
La mayoría de las aplicaciones de HDInsight se instalan en un nodo perimetral vacío. Un nodo perimetral vacío es una máquina virtual Linux con las mismas herramientas de cliente instaladas y configuradas como en el nodo principal. Se puede usar el nodo perimetral para acceder al clúster y para probar y hospedar las aplicaciones cliente. Para obtener más información, consulte Uso de nodos perimetrales vacíos en HDInsight.
Acciones de script
Puede instalar componentes adicionales o personalizar la configuración del clúster mediante el uso de scripts durante la creación. Estos scripts se invocan a través de acciones de script, que es una opción de configuración que puede usar desde Azure Portal, cmdlets de Windows PowerShell de HDInsight o el SDK de .NET de HDInsight. Para más información, consulte Personalización de clústeres de HDInsight mediante la acción de scripts.
Algunos componentes nativos de Java, como Apache Mahout y Cascading, se pueden ejecutar en el clúster como archivos de Java Archive (JAR). Puede distribuir estos archivos JAR al almacenamiento y enviarlos a clústeres de HDInsight con mecanismos de envío de trabajos de Hadoop. Para más información, consulte Envío de trabajos de Apache Hadoop mediante programación.
Nota:
Si tiene problemas con la implementación de los archivos JAR en los clústeres de HDInsight o con la llamada de los archivos JAR en los clústeres de HDInsight, póngase en contacto con Soporte técnico de Microsoft.
HDInsight no admite cascada y no es apto para el Soporte técnico de Microsoft. Para ver las listas de los componentes compatibles, consulte Novedades en las versiones de clústeres proporcionadas por HDInsight.
En ocasiones, querrá configurar los siguientes archivos de configuración durante el proceso de creación:
- clusterIdentity.xml
- core-site.xml
- gateway.xml
- hbase-env.xml
- hbase-site.xml
- hdfs-site.xml
- hive-env.xml
- hive-site.xml
- mapred-site
- oozie-site.xml
- oozie-env.xml
- tez-site.xml
- webhcat-site.xml
- yarn-site.xml
Para más información, consulte Personalización de los clústeres de HDInsight con Bootstrap.