Actualizando a HBaseExplorer 0.6.0

Tras instalar HBaseExplorer 0.5.1 sobre HBase 0.94.2-rc3 anteriormente, se puede actualizar a la versión 0.6.0 (es necesario haber instalado la versión 0.5.1).

Lo primero es borrar todo el contenido de ~/hbexplorer/webapps/ y descargar hbaseexplorer-0.6.0.war en ~/hbexplorer/webapps/.
Tras eso, ejecutar HBaseExplorer para que se despliegue la aplicación web:

cd ~/hbexplorer
bin/catalina.sh start
sleep 60
bin/catalina.sh stop

Hay que borrar y copiar las librerías correctas:

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

cp ~/hadoop/share/hadoop/common/hadoop-common-2.0.1-alpha.jar ~/hbexplorer/webapps/hbaseexplorer-0.6.0/WEB-INF/lib
cp ~/hbase/hbase-0.94.2.jar ~/hbexplorer/webapps/hbaseexplorer-0.6.0/WEB-INF/lib
cp ~/hadoop/share/hadoop/common/lib/commons-configuration-1.6.jar ~/hbexplorer/webapps/hbaseexplorer-0.6.0/WEB-INF/lib
cp ~/hadoop/share/hadoop/common/lib/hadoop-auth-2.0.1-alpha.jar ~/hbexplorer/webapps/hbaseexplorer-0.6.0/WEB-INF/lib
cp ~/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.0.1-alpha.jar ~/hbexplorer/webapps/hbaseexplorer-0.6.0/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.

Iniciar la aplicación:

cd ~/hbexplorer
bin/catalina.sh start

Sólo queda conectarse a http://master00:8888/hbaseexplorer-0.6.0/, y utilizar la misma configuración que la vista para la versión 0.5.1.

Bugs

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.

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.