El equilibrio de carga se utiliza para resolver una máquina (un proceso) no puede resolver todas las solicitudes genera un algoritmo. Equilibrio de carga Sink función de balance de carga del procesador se puede realizar, como se muestra agente1 es un nodo de encaminamiento, es responsable de la almacena temporalmente canal receptor de sucesos igualó a una pluralidad de componentes correspondientes, y cada componente está conectado a un lavabo separado - Agent, ejemplo configuración como sigue:
En este caso cargamos canal analógico balanceado a través de tres máquinas
Tres máquinas planeados de la siguiente:
node01: recogida de datos, transmitidos a la máquina hasta node02 y node03
node02: a los datos de la parte de recepción de node01
node03: a los datos de la parte de recepción de node01
El primer paso : desarrollar node01 servidor 's canal de configuración
configuración del servidor node01:
cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf
load_banlancer_client.conf vim
#agent name
a1.channels = c1
a1.sources = r1
a1.sinks = k1 k2
#set gruop
a1.sinkgroups = g1
#set sink group
a1.sinkgroups.g1.sinks = k1 k2
#set sources
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /export/taillogs/access_log
#set channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# set sink1
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = node02
a1.sinks.k1.port = 52021
# set sink2
a1.sinks.k2.type = avro
a1.sinks.k2.hostname = node03
a1.sinks.k2.port = 52021
#set failover
a1.sinkgroups.g1.processor.type = load_balance
a1.sinkgroups.g1.processor.backoff = true
a1.sinkgroups.g1.processor.selector = round_robin
a1.sinkgroups.g1.processor.selector.maxTimeOut=10000
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
a1.sinks.k2.channel = c1
Paso dos : el desarrollo node02 servidor 's configuración de canal
cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf
load_banlancer_server.conf vim
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = avro
a1.sources.r1.bind = node02
a1.sources.r1.port = 52021
# 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 = logger
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
El tercer paso : el desarrollo node03 servidor de configuración de canal
Configuración del servidor node03
cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin/conf
load_banlancer_server.conf vim
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = avro
a1.sources.r1.bind = node03
a1.sources.r1.port = 52021
# 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 = logger
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
Paso cuatro : listo para comenzar Servicio aforador
Node03 iniciar el servicio de canal
cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin
bin / agente de canal-ng -n a1 -c conf -f conf / load_banlancer_server.conf -Dflume.root.logger = DEBUG, consola
Node02 iniciar el servicio de canal
cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin
bin / agente de canal-ng -n a1 -c conf -f conf / load_banlancer_server.conf -Dflume.root.logger = DEBUG, consola
Node01 iniciar el servicio de canal
cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin
bin / agente de canal-ng -n a1 -c conf -f conf / load_banlancer_client.conf -Dflume.root.logger = DEBUG, consola
Paso cinco : node01 servidor que ejecuta el script generado datos
cd / export / conchas
sh tail-file.sh