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:
1 2 |
usuario: admin contraseña: admin |
Tras eso, crear una conexión a HBase haciendo click en el enlace “Create”, y rellenando la siguiente información:
1 2 3 4 5 6 7 |
name: clusterhbexplorer quorum port: 2181 quorum servers: master00 master url: http://master00:60010 job tracker: master00:8033 filesystem url: hdfs://master00:8020/ HDFS user: cluster |
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.