大数据课程E5——Flume的Selector

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州

▲ 本章节目的

⚪ 了解Selector的概念和配置属性;

⚪ 掌握Selector的使用方法;

一、简介

1. 概述

  1. Selector本身是Source的子组件,决定了将数据分发给哪个Channel。

  2. Selector中提供了两种模式:

a. replicating:复制。将数据复制之后发送给每一个节点。

b. multiplexing:路由/多路复用。根据headers中的指定字段决定将数据发送给哪一个Channel。

  1. 如果不指定,那么默认使用的就是复制模式。

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

  1. 启动Flume:

../bin/flume-ng agent -n a1 -c ../conf -f multiplexingselector.conf -

Dflume.root.logger=INFO,console

相关推荐
武子康13 分钟前
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例
大数据·后端·spark
极造数字1 小时前
MES系统在不同制造行业中的应用差异与共性
大数据·人工智能·物联网·信息可视化·制造
时序数据说2 小时前
物联网时序数据库IoTDB是什么?
大数据·数据库·物联网·时序数据库·iotdb
时序数据说2 小时前
时序数据库:定义与基本特点
大数据·数据库·物联网·时序数据库
ByteBlossom2 小时前
深入解析ZooKeeper核心机制与应用(下)
分布式·zookeeper
蒋星熠2 小时前
中间件架构设计与实践:构建高性能分布式系统的核心基石
开发语言·数据库·分布式·python·中间件·性能优化·硬件工程
Agatha方艺璇2 小时前
CentOS7 Hive2.3.8 安装图文教程
大数据·数据库
云手机掌柜3 小时前
下一代社媒运营工具:亚矩阵云手机集成AIGC与数字人技术引领内容革命
大数据·线性代数·智能手机·矩阵·aigc
上海锝秉工控4 小时前
超声波风向传感器:以科技之翼,捕捉风的每一次呼吸
大数据·人工智能·科技
在未来等你7 小时前
Elasticsearch面试精讲 Day 13:索引生命周期管理ILM
大数据·分布式·elasticsearch·搜索引擎·面试