spark streaming实时流处理笔记四

本文介绍如何使用Flume的execsource、memorychannel和avrosink组件,实现实时采集A服务器日志并传输至B服务器的过程。通过配置两个Flume agent,一个负责日志采集,另一个负责接收和输出日志,实现从日志源到目标系统的无缝连接。

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

Flume项目实战3

需求:将A服务器上的日志实时采集到B服务器

技术选型: exec source + memory channel +avro sink
Avro source + memory channel + logger sink

exec-memory-avro.conf

Name the components on this agent

exec-memory-avro.sources = exec-source
exec-memory-avro.sinks = avro-sink
exec-memory-avro.channels = memory-channel

Describe/configure the source

exec-memory-avro.sources.exec-source.type = exec
exec-memory-avro.sources.exec-source.command = tail -F /data/data.log
exec-memory-avro.sources.exec-source.shell = /bin/sh -c

Describe the sink

exec-memory-avro.sinks.avro-sink.type = avro
exec-memory-avro.sinks.avro-sink.hostname = localhost
exec-memory-avro.sinks.avro-sink.port = 44444

Use a channel which buffers events in memory

exec-memory-avro.channels.memory-channel.type = memory

Bind the source and sink to the channel

exec-memory-avro.sources.exec-source.channels = memory-channel
exec-memory-avro.sinks.avro-sink.channel = memory-channel

avro-memory-logger.conf

Name the components on this agent

avro-memory-logger.sources = avro-source
avro-memory-logger.sinks = logger-sink
avro-memory-logger.channels = memory-channel

Describe/configure the source

avro-memory-logger.sources.avro-source.type = avro
avro-memory-logger.sources.avro-source.bind = localhost
avro-memory-logger.sources.avro-source.port = 44444

Describe the sink

avro-memory-logger.sinks. logger-sink.type = logger

Use a channel which buffers events in memory

avro-memory-logger.channels. memory-channel.type = memory

Bind the source and sink to the channel

avro-memory-logger.sources.avro-source.channels = memory-channel
avro-memory-logger.sinks.logger-sink.channel = memory-channel

先启动avro-memory-logger:
flume-ng agent
–name avro-memory-logger
–conf $FLUME_HOME/conf
–conf-file $FLUME_HOME/conf/avro-memory-logger.conf
-Dflume.root.logger=INFO,console

再启动exec-memory-avro.conf:
flume-ng agent
–name exec-memory-avro
–conf $FLUME_HOME/conf
–conf-file $FLUME_HOME/conf/exec-memory-avro.conf
-Dflume.root.logger=INFO,console

日志收集过程:
1) 机器A上监控一个文件,当我们访问主站时会有用户行为日志记录d奥access.log中
2) Avro sink 把新产生的日志输出到对应的avro source指定的hostname和port上
3) 通过avro source对应的agent将我们的日志输出到控制台(kafka)

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值