Cómo instalar HBase en Ubuntu: Guía paso por paso
⚡ Resumen inteligente
Instalación de HBase en Ubuntu Se ejecuta en tres modos: independiente, pseudodistribuido y totalmente distribuido, y abarca cómo descargar el archivo tarball de la versión, editar hbase-env.sh y hbase-site.xml, iniciar los demonios y solucionar errores comunes de inicio.

Apache HBase es un sistema distribuido, base de datos orientada a columnas que se ejecuta sobre el sistema de archivos distribuidos de Hadoop (HDFS). Antes de comenzar, asegúrese de que sea compatible. Java El entorno de ejecución está instalado y JAVA_HOME está configurado; los modos pseudodistribuido y totalmente distribuido también requieren un entorno de ejecución en funcionamiento. Hadoop instalación.
Modos de instalación de Apache HBase
Apache HBase se puede instalar en tres modos. Las características de estos modos se mencionan a continuación.
1) Instalación en modo independiente (sin dependencia del sistema Hadoop)
- Este es el modo predeterminado de HBase.
- Se ejecuta en el sistema de archivos local.
- No utiliza Hadoop HDFS.
- Solo el demonio HMaster puede ejecutarse.
- No se recomienda para entornos de producción.
- Se ejecuta en una única máquina virtual Java (JVM).
2) Instalación en modo pseudodistribuido (sistema Hadoop de un solo nodo + instalación de HBase)
- Se ejecuta en Hadoop HDFS.
- Todos los demonios se ejecutan en un único nodo.
- Recomendado para entornos de producción.
3) Instalación en modo totalmente distribuido (entorno Hadoop multinodo + instalación de HBase)
- Se ejecuta en Hadoop HDFS.
- Todos los demonios se ejecutan en todos los nodos presentes en el clúster.
- Muy recomendable para entornos de producción.
Para la instalación de Hadoop, consulte esto Guía de instalación de Hadoop.
Las capturas de pantalla a continuación utilizan HBase 1.1.2. Las versiones estables actuales son las series HBase 2.5.x y 2.6.x (Java 8 u 11), pero los pasos de instalación y los archivos de configuración siguen siendo esencialmente los mismos.
Cómo descargar la versión estable del archivo tar HBase
Paso 1) Vaya al Página oficial de descargas de Apache HBase Para descargar HBase, se abrirá la página web de descargas como se muestra a continuación.
Paso 2) Seleccione la versión estable como se muestra a continuación, versión HBase 1.1.2.
Paso 3) Haga clic en hbase-1.1.2-bin.tar.gz. Se descargará el archivo tar. Copie el archivo tar en una ubicación de instalación.
Cómo instalar HBase en Ubuntu con modo independiente
Aquí está el proceso paso a paso de la instalación en modo independiente de HBase en Ubuntu:
Paso 1) Coloque el siguiente comando. Coloque hbase-1.1.2-bin.tar.gz en /home/hduser.
Paso 2) Descomprímelo ejecutando el comando $tar -xvf hbase-1.1.2-bin.tar.gz. Esto descomprimirá el contenido y creará hbase-1.1.2 en la ubicación /home/hduser.
Paso 3) Abra hbase-env.sh como se muestra a continuación e indique la ruta JAVA_HOME en la ubicación, como se muestra a continuación.
Paso 4) Abra el archivo ~/.bashrc e indique la ruta HBASE_HOME como se muestra a continuación.
export HBASE_HOME=/home/hduser/hbase-1.1.1 export PATH= $PATH:$HBASE_HOME/bin
A continuación se muestra el archivo ~/.bashrc actualizado con la entrada HBASE_HOME.
Paso 5) Agregue propiedades al archivo. Abra hbase-site.xml y coloque las siguientes propiedades dentro del archivo.
hduser@ubuntu$ gedit hbase-site.xml (código como se muestra a continuación)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
El archivo hbase-site.xml se abrió en gedit se muestra a continuación.
Aquí estamos colocando dos propiedades:
- Uno para el directorio raíz de HBase y
- El segundo para el directorio de datos que corresponde a guardián del zoológico.
Todas las actividades de HMaster y ZooKeeper apuntan a este archivo hbase-site.xml.
Paso 6) Mencione las IP. Abra el archivo hosts que se encuentra en la ubicación /etc y mencione las IP como se muestra a continuación.
Paso 7) Ahora ejecute start-hbase.sh en la ubicación hbase-1.1.1/bin como se muestra a continuación. Luego puede verificar con el comando jps si HMaster se está ejecutando o no.
Paso 8) Inicie el shell de HBase. El shell de HBase se puede iniciar utilizando el shell hbase Al ejecutar el comando, se activará el modo de consola interactiva, como se muestra en la captura de pantalla a continuación. Una vez en modo de consola, se pueden ejecutar todo tipo de comandos.
El modo independiente no requiere que se inicien los demonios de Hadoop. HBase puede ejecutarse de forma independiente.
Modo de instalación pseudodistribuido de HBase
Este es otro método para la instalación de Apache HBase, conocido como modo de instalación pseudodistribuido. A continuación se detallan los pasos para instalar HBase mediante el modo pseudodistribuido.
Paso 1) Coloque hbase-1.1.2-bin.tar.gz en /home/hduser.
Paso 2) Descomprímelo ejecutando el comando $tar -xvf hbase-1.1.2-bin.tar.gz. Esto descomprimirá el contenido y creará hbase-1.1.2 en la ubicación /home/hduser.
Paso 3) Abra hbase-env.sh como se muestra a continuación, mencione la ruta JAVA_HOME y la ruta de los servidores de región en la ubicación y exporte el comando como se muestra a continuación.
Paso 4) En este paso, vamos a abrir el archivo ~/.bashrc y mencionar la ruta HBASE_HOME como se muestra en la captura de pantalla a continuación.
Paso 5) Abra hbase-site.xml y mencione las siguientes propiedades en el archivo (código como se muestra a continuación).
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
A continuación se muestra el archivo hbase-site.xml con las propiedades pseudodistribuidas.
La configuración restante de ZooKeeper se muestra a continuación.
Cada propiedad del archivo desempeña una función específica:
- Configurar el directorio raíz de HBase en la propiedad hbase.rootdir.
- Para una configuración distribuida, hbase.cluster.distributed debe establecerse en true.
- La propiedad de quórum de ZooKeeper debe configurarse aquí.
- La replicación se configura en la propiedad dfs.replication. Por defecto, la replicación se establece en 1. En el modo totalmente distribuido, existen varios nodos de datos, por lo que puede aumentar la replicación estableciendo un valor mayor que 1 en la propiedad dfs.replication.
- El puerto del cliente debe especificarse en la propiedad hbase.zookeeper.property.clientPort.
- El directorio de datos de ZooKeeper se puede especificar en la propiedad hbase.zookeeper.property.dataDir.
Paso 6) Inicie primero los demonios de Hadoop y, a continuación, los demonios de HBase, como se muestra a continuación. Primero, debe iniciar los demonios de Hadoop mediante el comando ./start-all.sh, como se muestra a continuación.
Después de eso, inicie los demonios de HBase con hbase-start.sh, como se muestra a continuación.
Ahora compruebe los procesos en ejecución con el comando jps, como se muestra a continuación.
Instalación en modo totalmente distribuido de HBase
El modo totalmente distribuido extiende la configuración pseudodistribuida a través de un clúster real.
- Esta configuración funciona en modo clúster de Hadoop, donde se generan y ejecutan múltiples nodos en todo el clúster.
- La instalación es la misma que en el modo pseudo distribuido; la única diferencia es que se ejecutará en varios nodos.
- Los archivos de configuración mencionados en hbase-site.xml y hbase-env.sh son los mismos que los mencionados en el modo pseudo.
En el modo totalmente distribuido, asegúrese de que la versión de Hadoop en su clúster coincida con las bibliotecas de Hadoop incluidas con HBase para que los demonios se comuniquen correctamente.
Solución de problemas de instalación de HBase
1) Planteamiento del problema: El servidor maestro se inicializa, pero los servidores de región no se inicializan.
La comunicación entre el servidor maestro y los servidores regionales se realiza a través de sus direcciones IP. El servidor maestro escucha a los servidores regionales que están en funcionamiento o que tienen la dirección IP 127.0.0.1. La dirección IP 127.0.0.1 es el host local y se resuelve al propio host local del servidor maestro.
Causa:
En la comunicación dual entre los servidores de región y el servidor maestro, el servidor de región informa continuamente al servidor maestro que su dirección IP es 127.0.0.1.
La Solución:
- Elimine el nodo del servidor maestro de la entrada de host local que se encuentra en el archivo hosts.
- Ubicación del archivo host: /etc/hosts.
Qué cambiar:
Abra /etc/hosts y vaya a esta ubicación.
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
Modifique la configuración anterior como se indica a continuación (elimine el nombre del servidor de región resaltado anteriormente).
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) Declaración del problema: No se pudo encontrar mi dirección: XYZ en la lista de servidores de quórum de ZooKeeper.
Causa:
- El servidor ZooKeeper no pudo iniciarse y muestra un error como por ejemplo .xyz en el nombre del servidor.
- HBase intenta iniciar un servidor ZooKeeper en una máquina, pero al mismo tiempo la máquina no puede encontrarse a sí misma en la configuración de quórum presente en la configuración hbase.zookeeper.quorum.
La Solución:
- Reemplace el nombre de host con el nombre de host que aparece en el mensaje de error.
- Si dispone de un servidor DNS, puede configurar las siguientes opciones en hbase-site.xml: hbase.zookeeper.dns.interface y hbase.zookeeper.dns.nameserver.
3) Planteamiento del problema: Se creó un directorio raíz para HBase a través de Hadoop DFS.
- El administrador dice que necesitas ejecutar el script de migraciones de HBase.
- Al ejecutarlo, el script de migraciones de HBase responde que no hay archivos en el directorio raíz.
Causa:
- Se creó un nuevo directorio para HBase utilizando el sistema de archivos distribuidos de Hadoop.
- Aquí HBase espera dos posibilidades:
1) El directorio raíz no existe.
2) Anteriormente se había inicializado una instancia de HBase en ejecución.
La Solución:
- Confirme que el directorio raíz de HBase no existe actualmente o que no ha sido inicializado por una ejecución anterior de la instancia de HBase.
- Como parte de la solución, siga estos pasos.
Paso 1) Utilice Hadoop dfs para eliminar el directorio raíz de HBase.
Paso 2) HBase crea e inicializa el directorio por sí mismo.
4) Planteamiento del problema: Eventos de sesión caducada de ZooKeeper
Causa:
- Los servidores HMaster o HRegion se apagan generando excepciones.
- Si revisas los registros, podrás averiguar las excepciones que se produjeron.
A continuación se muestra la excepción generada debido a un evento de caducidad de ZooKeeper. Los eventos resaltados son algunas de las excepciones que se produjeron en el archivo de registro.
El código de los archivos de registro se muestra a continuación:
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.io.IOException: TIMED OUT at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906) WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT] INFO org.apache.zookeeper.ClientCnxn: Server connection successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.io.IOException: Session Expired at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589) at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945) ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
La Solución:
- El tamaño predeterminado de la RAM es de 1 GB. Para importaciones de larga duración, mantenga una capacidad de RAM superior a 1 GB.
- Aumenta el tiempo de espera de la sesión de ZooKeeper.
- Para aumentar el tiempo de espera de la sesión de ZooKeeper, modifique la siguiente propiedad en hbase-site.xml, que se encuentra en la ruta de la carpeta hbase/conf.
- El tiempo de espera predeterminado para la sesión es de 60 segundos. Puede cambiarlo a 120 segundos, como se indica a continuación.
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>
















