caso real aforador (aforador aceptado catálogo telent la recopilación de datos a HDFS, archivos de captura a HDFS, dos agentes en cascada)

A, Canal de flujo de datos aceptado telent

El primer paso : el desarrollo de la configuración del archivo

vim /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf/netcat-logger.conf

# Definir este agente en el nombre de cada componente

a1.sources = r1
a1.sinks = k1
a1.channels = c1

# 描述和配置source组件:r1
a1.sources.r1.type = netcat
a1.sources.r1.bind = 192.168.52.120
a1.sources.r1.port = 44444

# 描述和配置sink组件:k1
a1.sinks.k1.type = logger

# 描述和配置channel组件,此处使用是内存缓存的方式
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# 描述和配置source  channel   sink之间的连接关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

parámetros de canal explican:

Capacidad: El número máximo predeterminado de evento en el canal puede ser almacenado

trasactionCapacity: Máximo puede obtener de cada fuente, o para una serie de receptor de sucesos

Paso dos : el archivo de configuración de inicio

programa de adquisición de perfil especificado , se inicia agente de canal en el nodo correspondiente

En primer lugar con uno de los programas más sencillo ejemplo para probar si el ambiente normal

agente de principio a recoger datos

bin/flume-ng agent -c conf -f conf/netcat-logger.conf -n a1  -Dflume.root.logger=INFO,console

directorio de archivos de configuración conf -c canal designado propia

-f conf sistema de recogida designado / netcat-logger.con hemos descrito

A1 -n especifica el nombre de nuestro agente

El tercer paso : Instalar telent prepararse para la prueba

máquina Node02 montado sobre el mismo en un cliente Telnet para la transmisión de datos analógicos

yum -y install telnet

telnet node03 44444 # analógico de transmisión de datos por medio de Telnet

En segundo lugar, el catálogo de la colección de HDFS

dIBUJOS:

 

Colección necesita: un servidor en un directorio específico, se continuará generando nuevos archivos cada vez que aparecen nuevos archivos, tenemos que cobrar a los archivos HDFS ir

Según los requisitos, en primer lugar definir los siguientes tres elementos principales

  1. componentes de datos de origen, es decir, la fuente de directorios de archivos - Monitor: spooldir

spooldir características:

   1, la vigilancia de un directorio, siempre que el nuevo archivo aparece en el directorio, se captará a los contenidos del archivo

   2, completado los documentos de adquisición, será agente de añadir automáticamente un sufijo: Completo

   3, directorio objeto de seguimiento no permite archivos con los mismos nombres repetidos

  1. Hundimiento componentes, a saber hundir - sistema de archivos HDFS: hdfs hunden
  2. Canal de montaje, es decir channel-- File canal de memoria disponible de canal puede también ser utilizado

canal desarrollo del perfil

Escribir archivo de configuración:

cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf

mkdir -p / exportación / servidores / dirfile

Vine spooldir.conf

# Name the components on this agent

a1.sources=r1

a1.channels=c1

a1.sinks=k1

# Describe/configure the source

##注意:不能往监控目中重复丢同名文件

a1.sources.r1.type=spooldir

a1.sources.r1.spoolDir=/export/dir

a1.sources.r1.fileHeader = true

# Describe the sink

a1.sinks.k1.type=hdfs

a1.sinks.k1.hdfs.path=hdfs://node01:8020/spooldir/

# Describe the channel

a1.channels.c1.type=memory

a1.channels.c1.capacity=1000

a1.channels.c1.transactionCapacity=100

# Bind the source and sink to the channel

a1.sources.r1.channels=c1

a1.sinks.k1.channel=c1

Inicio aforador

bin / agente -c ./conf -f ./conf/spooldir.conf -n a1 -Dflume.root.logger = INFO-ng canal, consola

Sube archivos a un directorio especificado

Cargar el archivo en un directorio diferente a lo siguiente, nota que el archivo debe ser único

cd / export / dir

En tercer lugar, los archivos de captura a HDFS

requisitos de recogida: los sistemas de negocio, tales como el uso de registro de log4j generada por el contenido del registro va en aumento, necesitamos datos anexados para el archivo de registro en la adquisición en tiempo real a hdfs

Según los requisitos, en primer lugar definir los siguientes tres elementos principales

  1. fuente de adquisición, a saber source-- monitores actualizaciones de archivos: 'archivo de cola -F' exec
  2. Hundimiento objetivos, a saber hundir - sistema de archivos HDFS: hdfs hunden
  3. --Channel paso de transferencia entre la fuente y el sumidero, Archivo canal de memoria disponible del canal también se puede utilizar

Definición de perfiles aforador

perfil de desarrollo node03

cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf

vim-cola file.conf

el contenido del perfil

a1.sources=r1

a1.channels=c1

a1.sinks=k1

# Describe/configure tail -F source1

a1.sources.r1.type=exec

a1.sources.r1.command =tail -F /export/taillogs/access_log



# Describe sink1

a1.sinks.k1.type=hdfs

a1.sinks.k1.hdfs.path=hdfs://node01:8020/spooldir/



# Use a channel which buffers events in memory

a1.channels.c1.type=memory

a1.channels.c1.capacity=1000

a1.channels.c1.transactionCapacity=100



# Bind the source and sink to the channel

a1.sources.r1.channels=c1

a1.sinks.k1.channel=c1

Inicio aforador

cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin

bin / canal-ng agente -c conf -f conf / cola-file.conf -n agente1 -Dflume.root.logger = INFO, consola

Desarrollo shell script de cronometrado contenido de los archivos adicionales

mkdir -p / exportación / conchas /

cd / export / conchas /

vim tail-file.sh

 

Crear una carpeta

mkdir -p / Exportación / servidores / taillogs

script de inicio

sh /export/shells/tail-file.sh

#!/bin/bash

while true

do

 date >> /export/servers/taillogs/access_log;

  sleep 0.5;

done

En cuarto lugar, el agente de dos en cascada

 

El primer archivo de datos entre el agente responsable de la recogida, a través de la red de transmitirlas a un segundo agente, el segundo agente se encarga de recibir unos primeros datos enviados desde el agente, guardar los datos para ir por encima de hdfs

El primer paso : el nodo 02 se instala aforador

Las carpetas de archivos descomprimidos node03 aforador copiados a la máquina por encima de la parte superior de la máquina node02

cd / export / servidores

scp -r Apache-canal-1.6.0-cdh5.14.0-bin / node02: $ PWD

Paso dos : node02 configuración canal de configuración de archivos

Configurar nuestro canal en la máquina node02

cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf

tail-Avro-Avro-logger.conf

##################

# Name the components on this agent

a1.sources = r1

a1.sinks = k1

a1.channels = c1



# Describe/configure the source

a1.sources.r1.type = exec

a1.sources.r1.command = tail -F /export/taillogs/access_log



# Use a channel which buffers events in memory

a1.channels.c1.type = memory

a1.channels.c1.capacity = 1000

a1.channels.c1.transactionCapacity = 100



##sink端的avro是一个数据发送者

a1.sinks.k1.type = avro

a1.sinks.k1.hostname = 192.168.52.120

a1.sinks.k1.port = 4141



#Bind the source and sink to the channel

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

El tercer paso : node02 desarrollo dada la escritura de archivos de escritura de datos

Node03 copiar directamente la secuencia de comandos y datos a la siguiente node02 a, el siguiente producto node03 comando

cd / exportación

scp -r conchas / taillogs / node02: $ PWD

Paso cinco: node03 desarrollo aforador perfiles

aforador perfiles de desarrollo en la máquina node03

cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf

Avro come-hdfs.conf

# Name the components on this agent

a1.sources = r1

a1.sinks = k1

a1.channels = c1



##source中的avro组件是一个接收者服务

a1.sources.r1.type = avro

a1.sources.r1.bind = 192.168.52.120

a1.sources.r1.port = 4141



# Use a channel which buffers events in memory

a1.channels.c1.type = memory

a1.channels.c1.capacity = 1000

a1.channels.c1.transactionCapacity = 100



# Describe the sink

a1.sinks.k1.type = hdfs

a1.sinks.k1.hdfs.path = hdfs://node01:8020/avro



# Bind the source and sink to the channel

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

Paso Seis : orden de inicio

máquina node03 inicia el proceso aforador

cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin

bin / agente de canal-ng -c conf -f conf / Avro-hdfs.conf -n a1 -Dflume.root.logger = INFO, consola   

máquina node02 inicia el proceso aforador

cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/

bin / agente-ng canal -c conf -f conf / cola-Avro-Avro-logger.conf -n a1 -Dflume.root.logger = INFO, consola    

node02 máquina de generación de archivo de secuencia de comandos shell Kai

mkdir / export / taillogs /

cd / export / servidores / conchas

sh tail-file.sh

Más fuente y sumidero de montaje

documentos oficiales Flume

http://archive.cloudera.com/cdh5/cdh/5/flume-ng-1.6.0-cdh5.14.0/FlumeUserGuide.html

Publicado 81 artículos originales · ganado elogios 21 · vistas 2239

Supongo que te gusta

Origin blog.csdn.net/qq_44065303/article/details/103440481
Recomendado
Clasificación