大数据课程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

相关推荐
Mr.朱鹏1 分钟前
分布式接口幂等性实战指南【完整版】
java·spring boot·分布式·sql·spring·云原生·幂等
行业探路者5 分钟前
视频和音频二维码生成及二维码扫描器的应用价值解析
大数据·人工智能·安全·二维码·设备巡检
微盛企微增长小知识10 分钟前
2025企业微信AI新突破:微盛·企微管家智能回复如何融合企业的业务生成场景话术?
大数据·人工智能
是阿威啊10 分钟前
单项目多模块的大数据项目框架构建
大数据
极客先躯15 分钟前
java的线上诊断工具大全
java·大数据·开发语言·内存管理·生产·诊断工具
天远数科15 分钟前
Node.js 中间件实战:对接天远借贷行为接口并清洗为 ECharts 数据
大数据
天呐草莓18 分钟前
企业微信自动打标签教程
大数据·python·微信·微信小程序·小程序·企业微信
laozhao43219 分钟前
各方面横向对比,标标达和剑鱼标讯谁更正规?
大数据·人工智能
汽车仪器仪表相关领域20 分钟前
ZRT-I 精密减速器测试系统
大数据·运维·功能测试·安全·单元测试·负载均衡·压力测试
数字护盾(和中)20 分钟前
AI正在重塑网络安全:自动化渗透测试如何让企业“先攻后防”?
大数据·运维