Escrituras aceleradas de Azure HDInsight para Apache HBaseAzure HDInsight Accelerated Writes for Apache HBase

En este artículo se proporciona una base sobre la característica Escrituras aceleradas para Apache HBase en Azure HDInsight y cómo puede usarse de forma eficaz para mejorar el rendimiento de escritura.This article provides background on the Accelerated Writes feature for Apache HBase in Azure HDInsight, and how it can be used effectively to improve write performance. Escrituras aceleradas usa discos administrados SSD premium de Azure para mejorar el rendimiento del registro de escritura previa (WAL) de Apache HBase.Accelerated Writes uses Azure premium SSD managed disks to improve performance of the Apache HBase Write Ahead Log (WAL). Para obtener más información acerca de Apache HBase, consulte Qué es Apache HBase en HDInsight.To learn more about Apache HBase, see What is Apache HBase in HDInsight.

Introducción a la arquitectura de HBaseOverview of HBase architecture

En HBase, una fila consta de una o varias columnas y se identifica mediante una clave de fila.In HBase, a row consists of one or more columns and is identified by a row key. Varias filas constituyen una tabla.Multiple rows make up a table. Las columnas contienen celdas, que son versiones con marca de tiempo del valor de esa columna.Columns contain cells, which are timestamped versions of the value in that column. Las columnas se agrupan en familias de columnas, y todas las columnas de una familia de columnas se almacenan juntas en archivos de almacenamiento denominados HFiles.Columns are grouped into column families, and all columns in a column-family are stored together in storage files called HFiles.

Las regiones en HBase se usan para equilibrar la carga de procesamiento de datos.Regions in HBase are used to balance the data processing load. En primer lugar, HBase almacena las filas de una tabla en una única región.HBase first stores the rows of a table in a single region. Las filas se distribuyen entre varias regiones a medida que aumenta la cantidad de datos en la tabla.The rows are spread across multiple regions as the amount of data in the table increases. Los servidores regionales pueden controlar las solicitudes de varias regiones.Region Servers can handle requests for multiple regions.

Registro de escritura previa para Apache HBaseWrite Ahead Log for Apache HBase

HBase primero escribe las actualizaciones de datos en un tipo de registro de confirmación denominado registro de escritura previa (WAL).HBase first writes data updates to a type of commit log called a Write Ahead Log (WAL). Una vez que la actualización se ha almacenado en el WAL, se escribe en la memoria MemStore.After the update is stored in the WAL, it's written to the in-memory MemStore. Cuando los datos en la memoria alcanzan su capacidad máxima, se escriben en el disco como un HFile.When the data in memory reaches its maximum capacity, it's written to disk as an HFile.

Si un RegionServer se bloquea o deja de estar disponible antes de que se vacíe la MemStore, se puede usar el registro de escritura previa para reproducir las actualizaciones.If a RegionServer crashes or becomes unavailable before the MemStore is flushed, the Write Ahead Log can be used to replay updates. Sin el WAL, si un RegionServer se bloquea antes de que las actualizaciones se vacíen en un HFile, se pierden todas esas actualizaciones.Without the WAL, if a RegionServer crashes before flushing updates to an HFile, all of those updates are lost.

Característica Escrituras aceleradas de Azure HDInsight para Apache HBaseAccelerated Writes feature in Azure HDInsight for Apache HBase

La característica Escrituras aceleradas soluciona el problema de mayores latencias de escritura debidas al uso de registros de escritura previa que se encuentran en el almacenamiento en la nube.The Accelerated Writes feature solves the problem of higher write-latencies caused by using Write Ahead Logs that are in cloud storage. La característica Escrituras aceleradas para clústeres de HDInsight Apache HBase adjunta discos SSD administrados a cada RegionServer (nodo de trabajo).The Accelerated Writes feature for HDInsight Apache HBase clusters, attaches premium SSD-managed disks to every RegionServer (worker node). En consecuencia, los registros de escritura previa se escriben en el sistema de archivos Hadoop (HDFS) montado en estos discos administrados premium en lugar de escribirse en el almacenamiento en la nube.Write Ahead Logs are then written to the Hadoop File System (HDFS) mounted on these premium managed-disks instead of cloud storage. Los discos administrados Premium usan discos de estado sólido (SSD) y ofrecen un rendimiento de E/S excelente con tolerancia a errores.Premium managed-disks use Solid-State Disks (SSDs) and offer excellent I/O performance with fault tolerance. A diferencia de los discos no administrados, si una unidad de almacenamiento se bloquea, no afectará a otras unidades de almacenamiento del mismo conjunto de disponibilidad.Unlike unmanaged disks, if one storage unit goes down, it won't affect other storage units in the same availability set. Como resultado, los discos administrados proporcionan una baja latencia de escritura y una mejor resistencia para las aplicaciones.As a result, managed-disks provide low write-latency and better resiliency for your applications. Para obtener más información sobre los discos administrados por Azure, consulte Introducción a los discos administrados de Azure.To learn more about Azure-managed disks, see Introduction to Azure managed disks.

Cómo habilitar Escrituras aceleradas para HBase en HDInsightHow to enable Accelerated Writes for HBase in HDInsight

Para crear un nuevo clúster de HBase con la característica Escrituras aceleradas, siga los pasos de Configuración de clústeres en HDInsight.To create a new HBase cluster with the Accelerated Writes feature, follow the steps in Set up clusters in HDInsight. En la pestaña Conceptos básicos, seleccione el tipo de clúster como HBase, especifique una versión de componente y, a continuación, haga clic en la casilla situada junto a Habilitar escrituras aceleradas de HBase.On the Basics tab select cluster type as HBase, specify a component version and then click on the checkbox next to Enable HBase accelerated writes. A continuación, continúe con los pasos restantes para crear un clúster.Then, continue with the remaining steps for cluster creation.

Habilitar la opción de escrituras aceleradas para Apache HBase de HDInsight

Otras consideracionesOther considerations

Para conservar la durabilidad de los datos, cree un clúster con un mínimo de tres nodos de trabajo.To preserve data durability, create a cluster with a minimum of three worker nodes. Una vez creado, el clúster no se puede reducir verticalmente a menos de tres nodos de trabajo.Once created, you can't scale down the cluster to less than three worker nodes.

Vacíe o deshabilite las tablas de HBase antes de eliminar el clúster, de modo que no pierda los datos del registro de escritura previa.Flush or disable your HBase tables before deleting the cluster, so that you don't lose Write Ahead Log data.

flush 'mytable'
disable 'mytable'

Siga los mismos pasos al reducir verticalmente el clúster: vacíe las tablas y deshabilite las tablas para detener los datos de entrada.Follow similar steps when scaling down your cluster: flush your tables and disable your tables to stop incoming data. No puede reducir verticalmente el clúster a menos de tres nodos.You can't scale down your cluster to fewer than three nodes.

Al seguir estos pasos, se asegurará de que el proceso de reducción vertical se realiza correctamente y evitará la posibilidad de que un nodo de nombre entre en modo seguro debido a archivos temporales o subreplicados.Following these steps will ensure a successful scale-down and avoid the possibility of a namenode going into safe mode due to under-replicated or temporary files.

Si el nodo de nombre entra en modo seguro después de una reducción vertical, use los comandos de HDFS para volver a replicar los bloques subreplicados y conseguir que HDFS salga del modo seguro.If your namenode does go into safemode after a scale down, use hdfs commands to re-replicate the under-replicated blocks and get hdfs out of safe mode. Esta nueva replicación permitirá reiniciar HBase correctamente.This re-replication will allow you to restart HBase successfully.

Pasos siguientesNext steps