viernes, 21 de noviembre de 2014

[HBase] ERROR org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine: Region server exiting

Apache HBase

Problema: ERROR org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine: Region server exiting

bash# tail -f /var/log/hbase/hbase-cmf-hbase-REGIONSERVER-servername.log.out
...
2014-10-18 17:02:14,048 ERROR org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine: Region server exiting
java.lang.RuntimeException: HRegionServer Aborted
at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:66)
at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:85)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
at org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:2320)
2014-10-18 17:02:14,049 INFO org.apache.hadoop.hbase.regionserver.ShutdownHook: Shutdown hook starting; hbase.shutdown.hook=true; fsShutdownHook=org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer@66a3e2e0
2014-10-18 17:02:14,049 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: STOPPED: Shutdown hook
2014-10-18 17:02:14,049 INFO org.apache.hadoop.hbase.regionserver.ShutdownHook: Starting fs shutdown hook thread.
2014-10-18 17:02:14,052 INFO org.apache.hadoop.hbase.regionserver.ShutdownHook: Shutdown hook finished.

SoluciónRevisar que las fechas (date) en los servidores, master & region, de HBase se encuentren sincronizados.

En caso de disponer del servicio ntpd, bastará con reiniciarlo.
bash# service ntpd restart
En caso de encontrarnos en un entorno el cual no tiene salida a internet directa, es decir, nuestros servidores se encuentren detrás de un proxy, deberemos:
  • Asegurarnos que el proxy/firewall permite el tráfico UDP para poder sincronizar con los servidores de NTP externos.
  • Configurar un servidor de NTP interno con el cual poder sincronizar nuestros servidores:
bash# ntpdate <ip_NTP_server>
  • Solución cutre, pero totalmente válida:
bash# DATE_STR="$(curl -sD - google.com | grep ^Date: | cut -d' ' -f3-6)Z"; date -s "$DATE_STR"