Dentro del ecosistema Hadoop Chuwka sirve para recolectar logs de grandes sistemas para su control, análisis y visualización.
El procesamiento de logs fue uno de las motivaciones originales de MapReduce. Por otro lado Hadoop MapReduce está más enfocado a trabajar con un pequeño número de ficheros muy grandes frente a los logs, que son ficheros incrementales generados en muchas máquinas. Chukwa subsana esa deficiencia en el ecosistema Hadoop.
El funcionamiento esquemático es este:
Chukwa tiene 4 componentes principales:
1.Agentes que corren en cada máquina en la que se generan los logs que se quieren transferir.
o Los agentes recolectan los logs desde la capa de aplicación usando Adaptadores.
o Un Agente puede tener varios adaptadores, cada uno realizando una tarea separada de recolectar logs.
2.Colectores que se encargan de recolectar los logs de varios agentes en un fichero Data Sink en HDFS (por defecto en hdfs:///chukwa/logs)
o El appending se realiza desde Chukwa y está preparado para procesar una gran cantidad de logs.
o Cada Sink File es un fichero Hadoop que contiene un grupo de claves-valor y marcadores para facilitar el acceso MApReduce.
o Los Data Sinks se renombran y mueven después de un umbral y los logs se escriben en el siguiente fichero Data Sink.
o Si el fichero acaba en ‘.chukwa’ aún está procesándose, cuando el colector cierra el fichero lo renombra a .done.
3.Jobs Map Reduce de Chukwa se encargan de procesar los ficheros .done. Pueden ser de dos tipos:
o Archive Jobs:
§ Se encarga de consolidar un conjunto grande de ficheros Data Sink en un número menor de ficheros que los contenidos agrupados de una forma más útil: Archive Files
§ En los Archive Files los duplicados de los Data Sink se eliminar
§ Técnicamente mueve todos los ficheros .done fuera del Sink y corre un job MapReduce para agruparlos. Los Chunks se almacenan en ficheros del tipo hdfs:///chukwa/archive/clustername/Datatype_<date>.arc
o Demux Jobs:
§ Permite procesar los datos qe van llegando en paralelo usando MapReduce. Por defecto se usa el parseador TsProcessor
4.HICC (Hadoop Infrastructure Care Center) que es un interfaces Web al estilo portal para mostrar los datos
Un esquema más detallado de funcionamiento:
Las ventajas de usar Chukwa para el procesamiento de logs son:
· A diferencia de otros sistemas, Chukwa tiene un modelo de metadatos ricos, lo que permite procesar juntos subconjunto de datos
· Chukwa puede recoger una gran variedad de métricas y recibir datos a través de varios protocolos de red, incluyendo syslog.
· Chukwa trabaja con HDFS y MapReduce para procesar sus datos y por lo tanto puede escalar fácilmente a miles de nodos en la recolección y análisis y también proporciona un marco familiar para el procesamiento de los datos recogidos.
· Los componentes de Chukwa son plugeables y puedesn personalizarse y mejorarse
· No crea grandes overheads en el cluster Hadoop
· Chukwa soporta la recuperación ante fallos, usando las copias locales de los archivos de registro, en las máquinas donde se generan.
Chukwa funciona en plataformas POSIX, y está testado extensivamente en plataformas Linux.
Chukwa requiere:
· Java 1.6 o superior
· Hadoop 0.20.205+
· HICC require HBase 0.90.4




Deja un comentario