我尝试设置一个flume代理来从syslog服务器中获取数据。 基本上,我在所谓的服务器(server1)上设置了一个syslog服务器来接收syslog事件,然后将所有消息转发到安装了flume代理的不同服务器(server2),最后所有数据都将汇入kafka集群。 / p>
Flume配置如下。
# For each one of the sources, the type is defined
agent.sources.syslogSrc.type = syslogudp
agent.sources.syslogSrc.port = 9090
agent.sources.syslogSrc.host = server2
# The channel can be defined as follows.
agent.sources.syslogSrc.channels = memoryChannel
# Each channel's type is defined.
agent.channels.memoryChannel.type = memory
# Other config values specific to each type of channel(sink or source)
# can be defined as well
# In this case, it specifies the capacity of the memory channel
agent.channels.memoryChannel.capacity = 100
# config for kafka sink
agent.sinks.kafkaSink.channel = memoryChannel
agent.sinks.kafkaSink.type = org.apache.flume.sink.kafka.KafkaSink
agent.sinks.kafkaSink.kafka.topic = flume
agent.sinks.kafkaSink.kafka.bootstrap.servers = <kafka.broker.list>:9092
agent.sinks.kafkaSink.kafka.flumeBatchSize = 20
agent.sinks.kafkaSink.kafka.producer.acks = 1
agent.sinks.kafkaSink.kafka.producer.linger.ms = 1
agent.sinks.kafkaSink.kafka.producer.compression.type = snappy
但是,某种方式不会注入水槽剂。
了解你的建议。
答案 0 :(得分:0)
我在所谓的服务器(server1)上设置了一个syslog服务器
syslogudp
来源必须绑定到server1
主机
agent.sources.syslogSrc.host = server1
然后将所有消息转发到不同的服务器(server2)
不同的服务器指的是接收器
agent.sinks.kafkaSink.kafka.bootstrap.servers = server2:9092
Flume代理只是一个托管这些组件(Source,Sink,Channel)的进程,以促进事件的流动。