HMaster es el componente del cluster HBase que se puede considerar como el nodo maestro a la vez, actúa como un maestro para los Servidores de Región que se ejecutan en diferentes máquinas. Es responsable de monitorear todos los RegionServers en un cluster HBase y también proporciona una interfaz para todos los metadatos de HBase para las operaciones cliente.
También maneja el failover de RegionServer y las divisiones de región. Puede haber más de una instancia de HMaster en un clúster HBase esto lo configuraremos así para tener alta disponibilidad. Si tenemos más de un maestro, solo un maestro está activo a la vez; en el momento de la puesta en marcha, todos los maestros compiten para convertirse en el maestro activo en el cluster. Un nodo maestro ganara y todas las demás instancias maestras permanecen pasivas hasta que el maestro activo se bloquea, se apage o ZooKeeper lo decida. En resumen, HMaster es un componente de coordinación en un cluster HBase, que también administra y nos permite realizar una tarea administrativa en el cluster.
Discutamos ahora que pasa cuando inicia el servidor HMaster:
- Se bloquea (no atiende solicitudes) hasta que se active HMaster.
- Finaliza la inicialización.
- Atiende peticiones.
- Limpia los registros al finalizar.
En HBase, hay una tabla llamada .META. (nombre de la tabla en el sistema de archivos), que conserva toda la información sobre las regiones a las que HMaster hace referencia para obtener información sobre los datos. De forma predeterminada, HMaster se ejecuta en el número de puerto 60000 y su interfaz de usuario web HTTP está disponible en el puerto 60010, que siempre se puede cambiar por medio de configuración.
Resumiendo, HMaster es encargado de :
- Supervisa los servidores regionales
- Maneja el failover de los servidores de región.
- Maneja los cambios de metadatos.
- Asignación / desasignación de regiones
- Interfaces todos los cambios de metadatos
- Realiza balanceo de recarga en tiempo de inactividad
- Publica su ubicación al cliente utilizando ZooKeeper.
- La interfaz de usuario web de HMaster proporciona toda la información sobre el clúster HBase (tabla, regiones, RegionServers y así sucesivamente)