Monitoreo de SPID

Este manual describe el entorno de SPID, su proceso de inicio, apagado, supervisión y demás recursos. El entorno de SPID está compuesto por un conjunto de servicios server-side: SPID Server y Control Panel, GBDS, SQL Server y Ambari Services.

Monitoreo del Sistema

Griaule recomienda herramientas de monitoreo como Zabbix, Cacti y otros sistemas para automatizar el seguimiento de recursos y el rendimiento del sistema.

Estado de SPID

Uno de los medios para monitorear SPID es a través de la API, disponible en la URL http://<hostname>:8082/gbs-spid-server/service/cluster/ping

Tenga en cuenta que en la configuración por defecto, SPID está configurado en el puerto 8082.

Esta prueba puede realizarse desde un navegador.

Si SPID está funcionando, se mostrará el siguiente mensaje:

¡Pong!

Server-side

Hay dos maneras de verificar el estado vía terminal.

service spid status

o

ps aux | grep spid-server | grep -v grep

La respuesta a estos comandos debe mostrar el proceso en funcionamiento.

Estado del Panel de Control de SPID

El Panel de Control SPID es un servicio web y está disponible a través de la URL http://<hostname>:58086/gbs-spid-controlpanel. En la configuración por defecto, el panel de control opera en el puerto 58086.

Server-side

Hay dos maneras de verificar el estado vía terminal.

service spid-cp status

o

ps aux | grep spid-controlpanel | grep -v grep

La respuesta a estos comandos debe mostrar el proceso en funcionamiento.

Idnservice Server-side

El IDN Service de Griaule es un servicio opcional y, cuando se usa, puede ser verificado con los siguientes comandos:

service idnservice status

o

ps aux | grep spid-idnservice | grep -v grep

La respuesta a estos comandos debe mostrar el proceso en funcionamiento.

Estado de la API GBDS

Uno de los medios para monitorear la API de GBDS es a través de la URL http://<hostname>:8085/gbds/v2/operations/ping.

Apunte siempre la URL a un nodo GBDS que aloje la API. En la configuración por defecto, la API funciona en el puerto 8085. La API debe devolver el siguiente mensaje:

{
	"data": "pong!"
}

Una verificación extra, que también prueba el acceso a la base de datos, está disponible a través de la siguiente dirección:

http://<hostname>:8085/gbds/v2/exceptions/EndDate=1400000000000

Al hacer clic en el enlace, la API llegará excepciones hasta la fecha 13 de mayo de 2014 (en epoch time), por lo tanto, la API no debería devolver mensajes de excepciones. Si la respuesta es similar a la siguiente, la conexión con la base de datos está funcionando.

{
	"pagination": {
		"total": 0,
		"count": 0,
		"pageSize": 0,
		"currentPage": 0,
		"totalPages": 0
	}
}

En lugar de ping, se puede hacer un listado de excepciones en la base de datos, pero esta operación demanda más recursos, por lo que debe usarse con restricciones.

Server-side

La API GBDS se ejecuta vía un servicio llamado gbdsapid. El siguiente comando puede usarse para verificar si este servicio está funcionando.

service gbsapid status

o

ps aux | grep gbsapi | grep -v grep

La respuesta a estos comandos debe mostrar el proceso en funcionamiento de la API.

Estado de GBDS

Server-side

GBDS se ejecuta como un proceso. Recuerde repetir el comando en cada nodo del clúster GBDS.

El primer comando puede usarse para verificar si el proceso de GBDS se está ejecutando:

ps aux | grep -v grep | grep griaulebiometrics.gbds.driver.Driver

La salida de este comando debe mostrarse si el proceso está funcionando.

El segundo comando puede usarse para verificar la cantidad de matchers:

ps aux | grep akka | grep -v grep | wc -l

La salida de este comando mostrará la cantidad de matchers que se están ejecutando.

Solución de Problemas

GBDS

En caso de problemas, GBDS debe reiniciarse. Primero, es necesario verificar el estado del servicio y detenerlo.

su griaule

/var/lib/griaule/gbds/scripts/kill-cluster.sh

#Call again till all nodes return that no service is running
/var/lib/griaule/gbds/scripts/kill-cluster.sh

Entonces, como usuario griaule, el siguiente script debe ejecutarse para iniciar el driver.

/var/lib/griaule/gbds/scripts/start-cluster.sh

Más detalles sobre GBDS pueden encontrarse en los logs.

GBDS API

Si hay algún problema con la API, debe reiniciarse usando un usuario griaule o superuser.

service gbsapid restart #restart API
service gbsapid status #check api status

SPID

Si hay algún problema con SPID, debe reiniciarse usando un usuario griaule o superuser.

service spid restart #restart spid
service spid status #check spid status

Panel de Control SPID

Si hay algún problema con el Control Panel, debe reiniciarse usando un usuario griaule o superuser.

service spid-cp restart
service spid-cp status

IDN Service

Si hay algún problema con el idnservice, debe reiniciarse usando un usuario griaule o superuser.

Recuerde que el IDN de Griaule es opcional, los usuarios pueden optar por implementarlo por sí mismos.

service idnservice restart
service idnservice status

Logs

En caso de encontrarse algún problema, el equipo de soporte debe ser contactado. Una vez hecho el contacto, es importante enviar los logs relacionados con el problema para reducir el tiempo de corrección.

Aplicación con error
Ruta a los logs

HBase

/var/log/hbase/

HDFS

/var/log/hadoop/hdfs/hadoop-hdfs-datanode-hostname.log

GBDS

/var/log/griaule/gbds/gbds.log

GBDS API (proceso de arranque)

/var/log/griaule/gbsapi/console.out

GBDS API

/var/log/griaule/gbsapi/gbsapi.log

SPID

/var/log/griaule/spid/ac.log

Panel de Control SPID

/var/log/griaule/spid/controlpanel.log

idnService

/var/log/griaule/idnservice/

Procesos post-reinicio de Clústeres

Si todos los nodos del clúster son reiniciados simultáneamente, los servicios Ambari deberán reiniciarse manualmente. Este procedimiento también puede usarse en caso de que el entorno quede offline como un enfoque inicial para tratar el incidente.

Reinicio de servicios Ambari

Para acceder al Panel de Control de Ambari, acceda a la URL http://<hostname>:8080 desde un navegador web e inicie sesión. Por defecto, tanto el usuario como la contraseña son admin.

Entonces, en el panel lateral izquierdo, en la pestaña Services, haga clic en ... y luego en Start All. Al final de la operación, todos los servicios deben estar en funcionamiento (destacados por la bola de color verde). Si algún servicio falla al iniciarse, será marcado en rojo y deberá iniciarse manualmente.

image

En la esquina superior derecha de la pantalla hay un icono de engranaje; pulsándolo el usuario puede seguir el estado actual de arranque.

Debe verificar si el namenode no se está ejecutando en Safemode por algún problema. Por lo tanto, verifique el estado con namenode.

hdfs dfsadmin -fs hdfs://<hostname>:8020 -safemode get | grep 'Safe mode is OFF'
image

Si el namenode fue iniciado en safemode, ejecute el siguiente comando en el Nodo 1 como usuario hdfs.

sudo su - hdfs hdfs dfsadmin -safemode leave

Inicialización de servicios

Inicie GBDS, la GBDS API, el SPID Control Panel y el IDN Service según se indica en Solución de Problemas

Apagado

El siguiente procedimiento debe usarse siempre que los servidores de producción sean apagados. Este procedimiento también puede usarse en caso de que el entorno quede offline como un enfoque inicial para tratar el incidente.

Necesita un superusuario para realizar las llamadas.

service spid stop

service spid-cp stop

service gbsapid stop

/var/lib/griaule/gbscluster/scripts/kill-gbscluster.sh

#Call again till all nodes return that no service is running
/var/lib/griaule/gbscluster/scripts/kill-gbscluster.sh
  • Acceda al Panel de Control de Ambari vía URL http://<hostname>:8080.

  • Detenga todos los servicios de Hadoop haciendo clic en ... en “Services” y luego en “Stop All”.

image

Información Adicional

GBDS está ligado a la CPU, lo que significa que siempre utilizará el máximo de CPU posible para ejecutar sus operaciones. Por ello, es común que el software de monitoreo señale un alto uso de CPU en los nodos del clúster.

Última actualización

¿Te fue útil?