Flume案例1-arvo

案例1:Avro

Avro可以通过client发送一个指定的文件给Flume,flume可以通过设置source的接受方式,监控avro发送数据的ip和端口,获取数据。
Avro Source可以定制avro-client发送一个指定的文件给Flume agent,Avro源使用Avro RPC机制,Flume主要的RPC Source也是 Avro Source,它使用Netty-Avro inter-process的通信(IPC)协议来通信,因此可以用java或JVM语言发送数据到Avro Source端。它的配置文件主要包含三个参数:

type: Avro source的别名是avro,也可以使用完整类别名称,org.apache.flume.source.AvroSource;
bind: 绑定的IP地址或主机名。使用0.0.0.0绑定机器所有端口
port: 绑定监听端口端口

一. 新建avro.conf文件

cd /usr/flume/conf 在conf目录下新建avro.conf ,vi avro.conf 。如果你之前已经写过了netcat.conf 你可以使用命令 cp netcat.conf avro.conf 之后修改avro里面的内容即可,不需要每次都进行全段全段的撰写,节约时间。

#example.conf: A single-node flume configuration
#It is Just for test flume spool Example
 
#该Agent名为a1,sources名为r1,sinks名为k1,channels名为c1
a1.sources = r1
a1.sinks = k1
a1.channels = c1
 
#定制source,绑定channel、主机以及端口
a1.sources.r1.type = avro
a1.sources.r1.channels = c1
a1.sources.r1.bind = 0.0.0.0
a1.sources.r1.port = 4141
 
#描述并配置sinks组件
a1.sinks.k1.type = logger
 
#描述并配置channels
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
 
#将sources和sink通过同一个channel连接绑定
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

整个配置文件内容分为三个大部分:
1、从整体上描述代理agent中sources、sinks、channels所涉及到的组件;2、详细描述agent中每一个source、sink与channel的具体实现:即在描述source的时候,需要指定source到底是什么类型的,即这个source是接受文件的、还是接受http的、还是接受thrift的;对于sink则是描述使用什么类型的sink,本例中使用的是Logger Sink,将数据写入日志文件;对于channel需要指定是内存等;
3、通过channel将source与sink连接起来。

**二、 使用命令,启动flume-agent

flume-ng agent -n a1 -c /export/software/flume/conf/ -f /export/software/flume/conf/avro.conf -Dflume.root.logger=INFO,console

参数解释:

-n 指定agent名称,要与配置文件一致(等价于–name)

-c 指定配置文件位置(等价于 --conf)

-f 指定agent配置文件(等价 --conf-file)

-Dflume.root.logger=INFO,console 设置日志等级
三、成功启动之后,如下所示,系统程序界面会一直在等待状态,等待接收avro-client发送的日志数据:
在这里插入图片描述
在这里插入图片描述
4、我们使用xshell远程连接工具Secure CRT 重新Clone一下master的新Session,

在新的master的连接里创建一个avro_test.log文件,并向里面写入一些内容,然后启动avro-client

flume-ng avro-client -c /export/software/flume/conf/ -H master -p 4141 -F /export/software/flume/logs/avro_test.log

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会编程的李较瘦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值