我使用flume file_roll接收器类型通过syslogTCP源类型吸收大量数据(速率~10000事件/秒)。然而,将数据推送到syslogTCP端口的过程(火花流式传输作业)在15-20分钟之后卡住了150万个事件。我还在运行flume-ng代理的linux框中观察到了一些文件描述符问题。
以下是我使用的水槽配置:
agent2.sources = r1
agent2.channels = c1
agent2.sinks = f1
agent2.sources.r1.type = syslogtcp
agent2.sources.r1.bind = i-170d29de.aws.amgen.com
agent2.sources.r1.port = 44442
agent2.channels.c1.type = memory
agent2.channels.c1.capacity = 1000000000
agent2.channels.c1.transactionCapacity = 40000
agent2.sinks.f1.type = file_roll
agent2.sinks.f1.sink.directory = /opt/app/svc-edl-ops-ngmp-dev/rdas/flume_output
agent2.sinks.f1.sink.rollInterval = 300
agent2.sinks.f1.sink.rollSize = 104857600
agent2.sinks.f1.sink.rollCount = 0
agent2.sources.r1.channels = c1
agent2.sinks.f1.channel = c1
由于性能问题主要是因为摄取率高,我不能使用HDFS接收器类型。:
答案 0 :(得分:0)
这是我的坏事。我正在使用控制台记录,并且在某些时候由于连接问题,putty终端正在冻结。导致整个水槽剂堵塞。 通过重定向flume控制台输出或具有log4j.property将输出写入控制台已解决了冻结问题。