gpt4 book ai didi

hadoop - S3 Flume HDFS SINK 压缩

转载 作者:可可西里 更新时间:2023-11-01 15:32:32 25 4
gpt4 key购买 nike

我正在尝试在 Amaozn S3 中编写水槽事件。在 S3 中编写的事件是压缩格式。我的 Flume 配置如下。我正面临数据丢失。根据下面给出的配置,如果我发布 20000 个事件,我只会收到 1000 个事件,所有其他数据都将丢失。但是当我禁用 rollcount、rollSize 和 rollInterval 配置时,会收到所有事件,但会创建 2000 个小文件。我的配置设置有什么错误吗?我应该添加任何其他配置吗?

injector.sinks.s3_3store.type = hdfs
injector.sinks.s3_3store.channel = disk_backed4
injector.sinks.s3_3store.hdfs.fileType = CompressedStream
injector.sinks.s3_3store.hdfs.codeC = gzip
injector.sinks.s3_3store.hdfs.serializer = TEXT
injector.sinks.s3_3store.hdfs.path = s3n://CID:SecretKey@bucketName/dth=%Y-%m-%d-%H
injector.sinks.s3_1store.hdfs.filePrefix = events-%{receiver}
# Roll when files reach 256M or after 10m, whichever comes first
injector.sinks.s3_3store.hdfs.rollCount = 0
injector.sinks.s3_3store.hdfs.idleTimeout = 600
injector.sinks.s3_3store.hdfs.rollSize = 268435456
#injector.sinks.s3_3store.hdfs.rollInterval = 3600
# Flush data to buckets every 1k events
injector.sinks.s3_3store.hdfs.batchSize = 10000

最佳答案

对于初学者:如果您禁用 rollCount、rollSize 等设置,flume 将恢复为默认值,因此您收到的小文件是默认值。

相关方面是这样的:

injector.sinks.s3_3store.hdfs.batchSize = 10000

它基本上告诉您的接收器在冲洗前收集 10.000 个事件。如果你减少这个数量,你也会得到更小的文件,因为与常规 HDFS 相比,S3 不支持文件追加。刷新后,文件将关闭并创建一个新文件。

尝试确定您的接收器将在几分钟左右的短时间内接收到多少事件,并将该值设置为您的批量大小。

关于hadoop - S3 Flume HDFS SINK 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30339914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com