gpt4 book ai didi

hadoop - Flume 以不一致的方式接收数据

转载 作者:行者123 更新时间:2023-12-02 21:39:50 24 4
gpt4 key购买 nike

我有一个问题。我正在使用 apache flume 从 txt 文件读取日志以接收到 hdfs。不知何故,一些记录在阅读时被跳过。我正在使用 fileChannel 请检查以下配置。

agent2.sources = file_server
agent2.sources.file_server.type=exec
agent2.sources.file_server.command = tail -F /home/datafile/error.log
agent2.sources.file_server.channels = fileChannel


agent2.channels = fileChannel
agent2.channels.fileChannel.type=file
agent2.channels.fileChannel.capacity = 12000
agent2.channels.fileChannel.transactionCapacity = 10000
agent2.channels.fileChannel.checkpointDir=/home/data/flume/checkpoint
agent2.channels.fileChannel.dataDirs=/home/data/flume/data


# Agent2 sinks
agent2.sinks = hadooper loged
agent2.sinks.hadooper.type = hdfs
agent2.sinks.loged.type=logger
agent2.sinks.hadooper.hdfs.path = hdfs://localhost:8020/flume/data/file
agent2.sinks.hadooper.hdfs.fileType = DataStream
agent1.sinks.hadooper.hdfs.writeFormat = Text
agent2.sinks.hadooper.hdfs.writeFormat = Text
agent2.sinks.hadooper.hdfs.rollInterval = 600
agent2.sinks.hadooper.hdfs.rollCount = 0
agent2.sinks.hadooper.hdfs.rollSize = 67108864
agent2.sinks.hadooper.hdfs.batchSize = 10
agent2.sinks.hadooper.hdfs.idleTimeout=0
agent2.sinks.hadooper.channel = fileChannel
agent2.sinks.loged.channel = fileChannel
agent2.sinks.hdfs.threadsPoolSize = 20

请帮忙。

最佳答案

我认为问题在于您正在使用 2 个接收器从单个 channel 读取它们;在这种情况下,两个接收器之一读取的 Flume 事件不会被另一个接收器读取,反之亦然。

如果您希望两个接收器接收相同 Flume 事件的副本,那么您需要为每个接收器创建一个专用 channel 。一旦创建了这些 channel ,默认的 channel 选择器,即 ReplicatingChannelSelector , 将在每个 channel 中创建一个副本。

关于hadoop - Flume 以不一致的方式接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29576562/

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