Flume_Flume常用配置1_exec.source_memory.channel_logger.sink

本文介绍了一个基于Flume 1.8.0的简单配置案例,使用exec source从文件中读取数据,通过memory channel传输,并由logger sink进行日志记录。该配置适合初学者理解Flume的基本工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下配置基于版本 apache-flume-1.8.0-bin


我们假定已经对Flume有一定了解,并且对Flume 的各个组件有一定了解。

我们演示一个基本的 
source  为 exec源
channel 为 memory
sink 为 logger 类型
的配置示例:


我们在解压好的目录下创建 2个子目录  my-conf, my-bin
my-conf 存放了 对 agent (source, sink, channel) 的配置

my-bin 存放了  agent 的启动脚本



my-conf


my-bin



配置文件

my-conf/flume-exec-memory-logger.properties

# example.conf: A single-node Flume configuration

# Name the components on this agent
a2.sources = r1
a2.sinks = k1
a2.channels = c1

# Describe/configure the source
a2.sources.r1.type = exec
a2.sources.r1.command = tail -F /tmp/log/source

# Describe the sink
a2.sinks.k1.type = logger

# Use a channel which buffers events in memory
a2.channels.c1.type = memory
a2.channels.c1.capacity = 1000
a2.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1



启动脚本

my-bin/start_exec_memory_logger.sh

#!/bin/bash

ROOT_PATH=$(dirname $(dirname $(readlink -f $0)))
cd $ROOT_PATH

bin/flume-ng agent --conf ./conf/ -f my-conf/flume-exec-memory-logger.properties -Dflume.root.logger=INFO,console -n a2


Flume是一个分布式、可靠的数据收集系统,它常用于日志收集和传输。在创建Flume Agent配置文件`flume-logger.conf`时,我们的目标通常是设置一个Netcat Source接收数据,并将其发送到Sink进行进一步处理。以下是一个基本的Flume配置示例: ```properties # 配置文件名称 agent NetcatLoggerAgent { # 源组件 .sources = netcatSource # 定义源 .sources.netcatSource.type = netcat sources.netcatSource.host = localhost sources.netcatSource.port = 4444 # 转换器 transformers = stringTransformer # 定义转换器,将接收到的原始字符串转换为Event对象 transformers.stringTransformer.type = kv # 目标组件 sinks = consoleSink # 定义目标,这里通常是输出到控制台 sinks.consoleSink.type = ConsoleSink # 连接源、转换器和目标 channels = memoryChannel sources.netcatSource.channels = memoryChannel sinks.consoleSink.channel = memoryChannel # 定义内存通道,临时存储事件 channels.memoryChannel.type = memory } # 启动agent run ``` 在这个配置中,`netcatSource`从指定主机(通常是localhost)和端口(这里是4444)读取输入。`stringTransformer`将接收到的数据转换成键值对格式,然后`consoleSink`将这些事件打印到控制台。`memoryChannel`作为临时存储队列。 要应用这个配置,你需要保存文件到Flume的conf目录下,然后启动Flume服务并运行此配置。你可以通过Flume命令行工具或者监控工具来检查配置是否生效。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值