Channel
Channel 用于用于缓存Event,当发送到下一个Agent时或最终目的地时会自动将Event从Channel上移除;
不同的Channel的持久化水平是不一样的,并且Channel可以和任何数量的Source、Sink工作
FileChannel
- 将数据临时存储到计算机的磁盘的文件中
- 性能比较低,但是即使程序出错数据不会丢失
- 配置项 说明
type file
dataDirs 指定存放的目录,逗号分隔的目录列表,用以存放日志文件。使用单独的磁盘上的多个目录可以提高文件通道效率
a1.sources=r1
a1.channels=c1
a1.sinks=s1
a1.sources.r1.type=netcat
a1.sources.r1.bind=0.0.0.0
a1.sources.r1.port=8888
a1.sinks.s1.type=logger
a1.channels.c1.type=file
a1.channels.c1.dataDirs=/home/filechannel
a1.sources.r1.channels=c1
a1.sinks.s1.channel=c1
Memory Channel
- 存储在配置的最大容量的内存队列中;
- 不具备持久化能力;数据会丢失
- 非常适合那些需要高吞吐量且允许数据丢失的场景下;
- 配置项 说明
type memory
capacity 100 事件存储在信道中的最大数量
建议实际工作调节:10万
首先估算出每个event的大小,然后再服务的内存来调节
transactionCapacity 100 每个事务中的最大事件数
建议实际工作调节:1000~3000
本文深入探讨Flume中Channel的作用及类型,包括FileChannel和MemoryChannel的特点与配置,为数据传输提供稳定与高效的解决方案。
6563

被折叠的 条评论
为什么被折叠?



