Flume经典案例之复制和多路复用

Flume经典案例之复制和多路复用,第1张

Flume经典案例之复制和多路复用 准备工作:

1、准备一个文件,方便后面使用
2、Hadoop集群,需要三个节点

*** 作步骤:

1、创建配置文件agent1.conf,分别在node1,node2,node3中
内容如下:

#agent1(node1)
a1.sources=r1
a1.channels=c1 c2
a1.sinks=k1 k2

a1.sources.r1.type=exec
a1.sources.r1.command=tail -F /opt/soft/flume190/demo/123.log
#配置channelSelector - replicating(复制-默认不配也可以)
#a1.sources.r1.selector.type = replicating
#复用
a1.sources.r1.selector.type = multiplexing
#event(headers | body)根据headers中的key和value进行数据的发送
#state指的是headers,key的值
a1.sources.r1.selector.header = state
#CZ指的是key对应的value值,那么就发送到c1
a1.sources.r1.selector.mapping.CZ = c1
#US指的是key对应的value值,那么就发送到c2
a1.sources.r1.selector.mapping.US = c2

#需求:给event中的headers添加数据
a1.sources.r1.interceptors = i1
a1.sources.r1.interceptors.i1.type = static
a1.sources.r1.interceptors.i1.key = state
a1.sources.r1.interceptors.i1.value = CZ

a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c2.type=memory
a1.channels.c2.capacity=1000

a1.sinks.k1.type=avro
a1.sinks.k1.hostname=node2
a1.sinks.k1.port=33333
a1.sinks.k2.type=avro
a1.sinks.k2.hostname=node3
a1.sinks.k2.port=44444

a1.sources.r1.channels=c1 c2
a1.sinks.k1.channel=c1
a1.sinks.k2.channel=c2

#agent1(node2)
a1.sources=r1
a1.channels=c1
a1.sinks=k1

a1.sources.r1.type=avro
a1.sources.r1.bind=node2
a1.sources.r1.port=33333

a1.channels.c1.type=memory
a1.channels.c1.capacity=1000

a1.sinks.k1.type=logger

a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

#agent1(node3)
a1.sources=r1
a1.channels=c1
a1.sinks=k1

a1.sources.r1.type=avro
a1.sources.r1.bind=node3
a1.sources.r1.port=44444

a1.channels.c1.type=memory
a1.channels.c1.capacity=1000

#将event数据存储到本地磁盘上
a1.sinks.k1.type=logger

a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

2、执行命令
进入到flume目录下,执行命令。
在node1中,执行命令flume-ng agent -n a1 -c conf/ -f datas2/agent1.conf -Dflume.root.logger=INFO,console,
在node2中,执行命令flume-ng agent -n a1 -c conf/ -f datas2/agent1.conf -Dflume.root.logger=INFO,console,
在node3中,执行命令flume-ng agent -n a1 -c conf/ -f datas2/agent1.conf -Dflume.root.logger=INFO,console。

3、查看输出内容
node2中

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5682823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存