文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州
▲ 本章节目的
⚪ 了解Selector的概念和配置属性;
⚪ 掌握Selector的使用方法;
一、简介
1. 概述
1. Selector本身是Source的子组件,决定了将数据分发给哪个Channel。
2. Selector中提供了两种模式:
a. replicating:复制。将数据复制之后发送给每一个节点。
b. multiplexing:路由/多路复用。根据headers中的指定字段决定将数据发送给哪一个Channel。
3. 如果不指定,那么默认使用的就是复制模式。
2. 配置属性
属性 |
解释 |
selector.type |
可以是replicating或者multiplexing |
selector.header |
如果是multiplexing,那么需要指定监听的字段 |
selector.mapping.* |
如果是multiplexing,那么需要指定监听字段匹配的只 |
selector.default |
如果是multiplexing,那么在所有值不匹配的情况下数据发送的Channel |
3. 案例
1. 编写格式文件:
a1.sources = s1
a1.channels = c1 c2
a1.sinks = k1 k2
a1.sources.s1.type = http
a1.sources.s1.port = 8090
# 指定Selector的类型
a1.sources.s1.selector.type = multiplexing
# 指定要监听的字段
a1.sources.s1.selector.header = kind
# 指定匹配的字段值
a1.sources.s1.selector.mapping.music = c1
a1.sources.s1.selector.mapping.video = c2
# 指定默认值
a1.sources.s1.selector.default = c2
a1.channels.c1.type = memory
a1.channels.c2.type = memory
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = hadoop02
a1.sinks.k1.port = 8090
a1.sinks.k2.type = avro
a1.sinks.k2.hostname = hadoop03
a1.sinks.k2.port = 8090
a1.sources.s1.channels = c1 c2
a1.sinks.k1.channel = c1
a1.sinks.k2.channel = c2
2. 启动Flume:
../bin/flume-ng agent -n a1 -c ../conf -f multiplexingselector.conf -文章来源:https://www.toymoban.com/news/detail-628208.html
Dflume.root.logger=INFO,console文章来源地址https://www.toymoban.com/news/detail-628208.html
到了这里,关于大数据课程E5——Flume的Selector的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!