Flume之agent基本配置使用

本文介绍了Flume agent的基本组成,包括source(如netcat、实时日志收集等)、channel(如内存通道、文件通道)和sink(如hdfs sink、hive sink)。通过一个配置文件示例展示了如何设置netcat数据源、内存通道和hdfs数据输出。启动Flume并执行后,客户端连接服务发送数据,最终在HDFS中查看到二进制数据。欢迎关注后续的大数据组件相关教程。
摘要由CSDN通过智能技术生成

Flume之agent基本配置使用

一、agent组成

agent由source、channel、sink三部分组成

source:数据源头,主要负责接收数据,将数据转换成事件,交由channel进行缓冲拦截处理,一般有netcat、实时日志收集(exec)、批量监控、序列source、压力source,还有avro source等等

channel:中间缓冲拦截处理机制,主要有内存通道,文件通道,内存溢出通道等等

sink:数据输出机制,对抓取的channel通道缓存的事件进行拉取,并且进行下一步存放或者跃点操作,跃点相当于从当前的agent传递给下一个agent,sink一般包含hive sink,hbase sink,hdfs sink等等

更多详细信息请查看Flume官方文档

二、demo测试配置文件编辑

准备数据源为netcat,通道为内存通道,sink为hdfs sink

在flume/bin下新建一个nc_memory_hdfs.conf文件,编辑内容:

# 这里的agent名称定义为agent,其他名称同理
agent.sources = r1
agent.channels = c1
agent.sinks = k1

# sources
# 定义资源类型为nc,绑定主机为localhost,暴露端口为9999
agent.sources.r1.type=netcat
agent.sources.r1.bind=localhost
agent.sources.r1.port=9999


# sink
# 这里的hdfs.path为hdfs文件路径,启动flume之前需要在hdfs文件系统上新建/usr/centos/flume/sinkData
# hdfs dfs -mkdir ....
agent.sinks.k1.type = hdfs
agent.sinks.k1.hdfs.path=/usr/centos/flume/sinkData/%y-%m-%d/%H/%M/%S
agent.sinks.k1.hdfs.filePrefix=events-
agent.sinks.k1.hdfs.round = true
# 每20秒钟创建一次文件夹(有源头数据来的情况下才创建,没有数据过来不会创建)
agent.sinks.k1.hdfs.roundValue = 20
agent.sinks.k1.hdfs.roundUnit=second
# 每十秒钟在当前文件夹下创建一个文件(同样需要有源数据过来)
agent.sinks.k1.hdfs.rollInterval=10
agent.sinks.k1.hdfs.rollSize=1024
agent.sinks.k1.hdfs.rollCount=10
agent.sinks.k1.hdfs.useLocalTimeStamp=true

# channels
agent.channels.c1.type=memory

# bind_all
agent.sources.r1.channels=c1
agent.sinks.k1.channel=c1

三、执行启动flume

flume-ng agent -f ./conf/nc_memory_hdfs.conf -n agent

该指令在flume的安装目下执行的,在任何路径都可以执行,只要对应编辑的配置文件的路径就行
-f :对应配置文件的路径
-n:对应配置文件中agent的名称

四、客户端连接服务产生源数据

nc localhost 9999
这里ip和端口需要对应配置文件中source的bind和port的值
成功连接后编辑任意测试内容进行回车,然后查看hdfs文件系统产生的sink输出数据,数据为二进制数据
使用:hdfs dfs -lsr /usr/centos/sinkData列出产生文件目录结构,使用-text指令可以查看产生的文件内容

it1002

后续会持续更新大数据组件相关demo,欢迎私信讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值