大数据课程E5——Flume的Selector

文章作者邮箱: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 -

Dflume.root.logger=INFO,console

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值