说明a2客户端这面算是启动好了的
说明a1(客户端)这面是启动好了的
检查配置文件:
通过检查绿色的线发现,channel附近这里可能有问题,不然怎么就突然停止了呢?
①ctrl c关闭启动窗口,去检查对应的配置文件
总结:这个检查错误好答非所问了,source类型为netcat,以及是负载均衡,本来就会有一个会停止,有一个会开启,所以我这里两边都启动好了,检查flume的运行日志都没有报错,netcat localhost监听都没问题,但就是控制台没有输出,说明最开始的source或者channel或者sink是否字母写错呀,或者加了逗号(比如我)。
问题描述:
1. 正确的流程图
2. 配置文件
配置a1
vim netcat-flume-logger-avro.conf
主机名查询命令:
hostname
对应命令可复制
#agent
a1.sources=r1
a1.channels=c1
a1.sinks=k1 k2
#==,attri
#sources
a1.sources.r1.type = netcat
a2.sources.r1.bind = h1m3
a1.sources.r1.port = 6666
#sinks
a1.sinks.k2.type=avro
a1.sinks.k2.hostname = h1m3
a1.sinks.k2.port = 9999
#两个接口,外面两个flume接过来,那么端口号就应该不一样
a1.sinks.k1.type = logger
#channels
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
a1.sinkgroups = g1
#连接k1,k2的数据分配
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = load_balance
#轮询方式
a1.sinkgroups.g1.processor.backoff = true
#bind
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
a1.sinks.k2.channel=c1
配置a2
vim loadbalance-flume-logger.conf
对应命令可复制
#agent
a2.sources=r1
a2.channels=c1
a2.sinks=k1
#sources
a2.sources.r1.type = avro
a2.sources.r1.bind=h1m3
a2.sources.r1.port=9999
#sinks
a2.sinks.k1.type=logger
#channels
a2.channels.c1.type=memory
a2.channels.c1.capacity=1000
a2.channels.c1.transactionCapacity=100
#bind
a2.sources.r1.channels=c1
a2.sinks.k1.channel=c1
3.启动配置文件
①win+R,输入cmd开四个窗口,先启动服务端
sh bin/flume-ng agent -n a2 -c conf/ -f job/loadbalance-flume-logger.conf -Dflume.root.logger=INFO,console
②再启动客户端
sh bin/flume-ng agent -n a1 -c conf/ -f job/netcat-flume-logger-avro.conf -Dflume.root.logger=INFO,console
③netcat传入数据,(没有安装netcat的私聊我发安装包给你)
netcat 主机名 6666
④输入数据,然后就可以看到服务端和客户端交叉收到数据(因为我们配的是负载均衡)