使用flume将数据流传输到s3

nwsw7zdq  于 2021-06-04  发布在  Flume
关注(0)|答案(2)|浏览(527)

我正在尝试flume的一些非常简单的东西,我想把内容从我的日志文件推到s3。我能够创建一个flume代理,从apache访问日志文件中读取内容并使用logger接收器。现在,我正试图找到一个解决方案,我可以取代一个“s3接收器记录器接收器”(我知道这在默认情况下不存在)
我在找一些指针来指引我走正确的路。下面是我目前使用的测试属性文件。

a1.sources=src1
a1.sinks=sink1
a1.channels=ch1

# source configuration

a1.sources.src1.type=exec
a1.sources.src1.command=tail -f /var/log/apache2/access.log

# sink configuration

a1.sinks.sink1.type=logger

# channel configuration

a1.channels.ch1.type=memory
a1.channels.ch1.capacity=1000
a1.channels.ch1.transactionCapacity=100

# links

a1.sources.src1.channels=ch1
a1.sinks.sink1.channel=ch1
svgewumm

svgewumm1#

这是有道理的,但是这个值的rollsize是否可以与

agent_messaging.sinks.AWSS3.hdfs.round = true
agent_messaging.sinks.AWSS3.hdfs.roundValue = 30
agent_messaging.sinks.AWSS3.hdfs.roundUnit = minute
aurhwmvo

aurhwmvo2#

s3是在hdfs之上构建的,所以您可以使用hdfs接收器,您必须用这种方式替换指向存储桶的hdfs路径。不要忘记更换aws\u access\u key和aws\u secret\u key。

agent.sinks.s3hdfs.type = hdfs
agent.sinks.s3hdfs.hdfs.path = s3n://<AWS.ACCESS.KEY>:<AWS.SECRET.KEY>@<bucket.name>/prefix/
agent.sinks.s3hdfs.hdfs.fileType = DataStream
agent.sinks.s3hdfs.hdfs.filePrefix = FilePrefix
agent.sinks.s3hdfs.hdfs.writeFormat = Text
agent.sinks.s3hdfs.hdfs.rollCount = 0
agent.sinks.s3hdfs.hdfs.rollSize = 67108864  #64Mb filesize
agent.sinks.s3hdfs.hdfs.batchSize = 10000
agent.sinks.s3hdfs.hdfs.rollInterval = 0

相关问题