Cómo ejecutar HBaseexplorer 0.5.1 con HBase 0.94.2-rc3

HBaseexplorer permite visualizar los datos de HBase de manera cómoda. No es muy completo, pero es infinitamente mejor que tratar de visualizar los datos descargándolos de HDFS o por otros métodos.
Este artículo es una continuación de Cúster de Hadoop 2.0.1-alpha + HBase 0.94.2-rc3.

Tras leer este artículo, se recomienda leer el artículo que indica cómo actualizar a HBaseExplorer 0.6.0.

 

Instalación

 
Descargar HBaseexplorer 0.5.1 y descomprimir el fichero .zip en ~/hbexplorer.

Modificar ~/hbexplorer/conf/server.xml para lanzar el servidor web integrado en un puerto libre (el 8080 lo utiliza HBase como servidor REST, y tal vez nos de problemas). Modificar la línea del conector para que se lance en el puerto 8888 (o cualquier otro):

<Connector port="8888" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

Lanzar el servicor tomcat integrado para que la aplicación se despliegue. Para ello ejecutar:

cd ~/hbexplorer/
bin/catalina.sh start

Es importante estar en dicho directorio para que se los ficheros de log se guarden en ~/hbexplorer/logs y la información de conexión en ~/hbexplorer/work.

Como tarda un buen rato en cargar, podemos comprobar cuándo termina de cargar mirando el fichero de log:

tail -f logs/catalina.out

Es necesario lanzar la aplicación web una vez para que se descomprima el .war y poder sustituir las librerías de acceso a Hadoop y HBase. En la primera de las ejecuciones HBaseexplorer no funcionará correctamente.

Hay que borrar y copiar las librerías correctas:

rm ~/hbexplorer/webapps/ROOT/WEB-INF/lib/hbase-0.90.4-cdh3u2.jar
rm ~/hbexplorer/webapps/ROOT/WEB-INF/lib/hadoop-core-0.20.2-cdh3u2.jar

cp ~/hadoop/share/hadoop/common/hadoop-common-2.0.1-alpha.jar ~/hbexplorer/webapps/ROOT/WEB-INF/lib
cp ~/hbase/hbase-0.94.2.jar ~/hbexplorer/webapps/ROOT/WEB-INF/lib
cp ~/hadoop/share/hadoop/common/lib/commons-configuration-1.6.jar ~/hbexplorer/webapps/ROOT/WEB-INF/lib
cp ~/hadoop/share/hadoop/common/lib/hadoop-auth-2.0.1-alpha.jar ~/hbexplorer/webapps/ROOT/WEB-INF/lib
cp ~/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.0.1-alpha.jar ~/hbexplorer/webapps/ROOT/WEB-INF/lib

Si en algún momento el fichero de log ~/hbexplorer/logs/hbaseexplorer.log indica que falta alguna clase, buscar en ~/hadoop/share/hadoop/ utilizando el comando grep <paquete> * -R.

Conectarse a http://master00:8888/ y realizar login con:

Tras eso, crear una conexión a HBase haciendo click en el enlace “Create”, y rellenando la siguiente información:

 

Script de start

 
Añadir al script que establece variables ~/set_variables lo siguiente:

export CATALINA_HOME=/home/cluster/hbexplorer/

Añadir al script de start de Hadoop ~/start-master-all.sh al final de todo lo siguiente:

cd ~/hbexplorer/
bin/catalina.sh start

 

Script de stop

 
Añadir al script de stop de Hadoop ~/stop-master-all.sh al final de todo lo siguiente:

~/hbexplorer/bin/catalina.sh stop

Bugs

El log ~/hbexplorer/logs/hbaseexplorer.log crece bastante por algún problema con la sesión HTTP. No he conseguido solucionarlo :(

A pesar de toda la configuración no he conseguido que HBaseExplorer pueda lanzar trabajos sobre Hadoop 2.0, lo que impide obtener estadísticas sobre las diferentes tablas.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.