为什么在Flume for syslogudp中丢失了数据包?

时间:2013-10-10 05:55:10

标签: udp flume

我发现使用Flume源syslogudp会导致大约25%的数据丢失。

这是我的配置

a1.sources = r1

a1.sinks = k1

a1.channels = c1

来源

a1.sources.r1.type = syslogudp

a1.sources.r1.bind = 172.24.1.78

a1.sources.r1.port = 65535

信宿

a1.sinks.k1.type = file_roll

a1.sinks.k1.sink.directory = / var / log / tmp

a1.sinks.k1.sink.rollInterval = 0

a1.sinks.k1.sink.batchSize = 20000

频道

a1.channels.c1.type = memory

a1.channels.c1.capacity = 20000

a1.channels.c1.transactionCapacity = 20000

绑定

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

我已经对RHEL内核参数进行了更改以解决问题但没有影响。

sysctl -w net.core.rmem_max = 33554432

sysctl -w net.ipv4.udp_mem ='262144 327680 393216'

sysctl -w net.core.netdev_max_backlog = 2000

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

问题可能在于UDP本身? Wikipedia says

  

它(UDP)没有握手对话,因此将底层网络协议的任何不可靠性暴露给用户的程序。由于这通常是IP不可靠的介质,因此无法保证交付,订购或重复保护。