Disponibilidad Flum-NG ejemplos de configuración de conmutación por error (recuperación)

 

  Gráfica, podemos ver, Canal de flujo puede soportar una variedad de almacenamiento, sólo para nombrar unos HDFS y Kafka (tales como: almacena el registro más reciente semana, y proporcionar secuencia de registro en tiempo real al sistema de tormenta).

1, asignación de funciones

Canal de flujo de colector y el Agente distribuido en la siguiente tabla:

nombre 

ANFITRIÓN

papel

agente1

node01

Servidor web

Collector1

node02

AgentMstr1

Collector2

node03

AgentMstr2

  Como se muestra en la figura, los flujos de datos en el Collector1 agente1 y Collector2, en sí Flume MAL proporciona mecanismos de conmutación por error, y puede cambiar automáticamente la recuperación. En la figura, hay tres servidores tienen un registro ubicados en diferentes habitaciones, es necesario recoger todos los registros se almacenan en un clúster. Aquí desarrollamos una configuración de clúster Flume GN

2, el nodo 01 de instalación de configuración canal con una copia de la escritura de archivos

El canal máquina node03 arriba y el catálogo de archivo del paquete de instalación de copia dos máquinas de producción superior a node01

node03 máquina ejecute el siguiente comando

cd / export / servidores

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

cd / exportación

scp -r conchas / taillogs / node01: $ PWD

archivo de configuración del agente de configuración de la máquina node01

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

vim agent.conf

#agent1 name
agent1.channels = c1
agent1.sources = r1
agent1.sinks = k1 k2
#
##set gruop
agent1.sinkgroups = g1
##set sink group
agent1.sinkgroups.g1.sinks = k1 k2

#
agent1.sources.r1.type = exec
agent1.sources.r1.command = tail -F /export/taillogs/access_log

#
##set channel
agent1.channels.c1.type = memory
agent1.channels.c1.capacity = 1000
agent1.channels.c1.transactionCapacity = 100
## set sink1
agent1.sinks.k1.type = avro
agent1.sinks.k1.hostname = node02
agent1.sinks.k1.port = 52020
#
## set sink2
agent1.sinks.k2.type = avro
agent1.sinks.k2.hostname = node03
agent1.sinks.k2.port = 52020
#
##set failover
agent1.sinkgroups.g1.processor.type = failover
agent1.sinkgroups.g1.processor.priority.k1 = 2
agent1.sinkgroups.g1.processor.priority.k2 = 1
agent1.sinkgroups.g1.processor.maxpenalty = 10000
#
agent1.sources.r1.channels = c1
agent1.sinks.k1.channel = c1
agent1.sinks.k2.channel = c1

La conmutación por error maxpenalty tiempo predeterminado

3, node02 y node03 configuración flumecollection

node02 máquina para modificar el archivo de configuración

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

la collector.conf

#set Agent name
a1.sources = r1
a1.channels = c1
a1.sinks = k1

## other node,nna to nns
a1.sources.r1.type = avro
a1.sources.r1.bind = node02
a1.sources.r1.port = 52020

##set channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

#
##set sink to hdfs
a1.sinks.k1.type=hdfs
a1.sinks.k1.hdfs.path= hdfs://node01:8020/flume/failover/


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

node03机器修改配置文件
cd  /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf
vim collector.conf

#set Agent name
a1.sources = r1
a1.channels = c1
a1.sinks = k1

## other node,nna to nns
a1.sources.r1.type = avro
a1.sources.r1.bind = node03
a1.sources.r1.port = 52020

##set channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

#
##set sink to hdfs
a1.sinks.k1.type=hdfs
a1.sinks.k1.hdfs.path= hdfs://node01:8020/flume/failover/


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

4, inicio de la secuencia de comandos

Arrancar la máquina por encima del canal node03

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

bin / agente de canal-ng -n a1 -c conf -f conf / collector.conf -Dflume.root.logger = DEBUG, consola

Arrancar la máquina por encima del canal node02

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

bin / agente de canal-ng -n a1 -c conf -f conf / collector.conf -Dflume.root.logger = DEBUG, consola

Arrancar la máquina por encima del canal node01

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

bin / agente de canal-ng -n agente1 -c conf -f conf / agent.conf -Dflume.root.logger = DEBUG, consola

se genera archivo de script de arranque de la máquina node01

cd / export / conchas

sh tail-file.sh

5, probar los fallos

La prueba de Let en clúster de alta disponibilidad Flume GN (failover). El escenario: Nosotros agente1 subir archivos de nodos, ya que tenemos el derecho de re-configurar Collector1 más grande que Collector2, por lo que la prioridad Collector1 recogido y cargado en el sistema de almacenamiento. Entonces matamos fuera Collector1, en este momento hay trabajo Collector2 responsable de reunir registro de subidas, y luego reanudar manualmente servicio del nodo Collector1 Canal de flujo, de nuevo en agente1 último archivo encontró Collector1 prioridad de recuperación de la colección. DETALLADA tema como sigue:

Collector1 carga prioritaria

 

Vista previa de HDFS archivos de registro del clúster

 

Collector1 tiempo de inactividad, Collector2 obtener el permiso prioridad a la carga

 

Reiniciar servicio Collector1, Collector1 recuperar el permiso a la prioridad de subida

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

Supongo que te gusta

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