1) Avro
Avro可以发送一个给定的文件给Flume,Avro 源使用AVRO RPC机制。
- 创建agent配置文件
# > vi /home/bigdata/flume/conf/avro.conf
编辑avro1.conf
a1.sources=r1
a1.channels=c1
a1.sinks=k1
a1.sources.r1.type=avro
a1.sources.r1.bind=linux01
a1.sources.r1.port=8888
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
a1.sinks.k1.type=logger
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
启动
flume-ng agent -c . -f avro1.conf -n a1 -Dflume.root.logger=info,console
在另一台上启动
flume-ng avro-client -c . -H linux01 -p 8888 -F /etc/passwd
====================================================================================================================================================
对以上内容解释:
指定名称:a1是我们要启动的Agent名字
a1.sources = r1 命名Agent的sources为r1
a1.sinks = k1 命名Agent的sinks为k1
a1.channels = c1 命名Agent的channels 为c1
# Describe configure the source
a1.sources.r1.type = avro 指定r1的类型为AVRO
a1.sources.r1.bind = 0.0.0.0 将Source与IP地址绑定(这里指本机)
a1.sources.r1.port = 4141 指定通讯端口为4141
# Describe the sink
a1.sinks.k1.type = logger 指定k1的类型为Logger(不产生实体文件,只在控制台显示)
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
指定Channel的类型为Memory
设置Channel的最大存储event数量为1000
每次最大可以source中拿到或者送到sink中的event数量也是100