大数据从0到1的完美落地之Flume模型

news2024/11/18 7:40:56

Flume的模型

数据模型

- 单一数据模型
- 多数据流模型
复制代码
单一数据模型

在单个 Agent 内由单个 Source, Channel, Sink 建立一个单一的数据流模型,如下图所示,整个数据流为 Web Server --> Source --> Channel --> Sink --> HDFS。

多数据流模型
1)多 Agent 串行传输数据流模型

2)多 Agent 汇聚数据流模型

3)单 Agent 多路数据流模型

4)Sinkgroups 数据流模型

小总结

文末扫码有惊喜

在flume提供的数据流模型中,几个原则很重要。

Source--> Channel
  1.单个Source组件可以和多个Channel组合建立数据流,既可以replicating(复制) 和 multiplexing(多路复用)。
  2.多个Sources可以写入单个 Channel

Channel-->Sink
  1.多个Sinks又可以组合成Sinkgroups从Channel中获取数据,既可以loadbalancing(负载均衡)和failover(故障转移)机制。
  2.多个Sinks也可以从单个Channel中取数据。
  3.单个Sink只能从单个Channel中取数据

根据上述 5 个原则,你可以设计出满足你需求的数据流模型。
复制代码

配置介绍

定义组件名称

要定义单个代理中的流,您需要通过通道链接源和接收器。您需要列出给定代理的源,接收器和通道,然后将源和接收器指向一个通道。一个源实例可以指定多个通道,但是一个接收器实例只能指定一个通道。格式如下:

# list the sources, sinks and channels for the agent
<Agent>.sources = <Source>
<Agent>.channels = <Channel1> <Channel2>
<Agent>.sinks = <Sink>

# set channel for source
<Agent>.sources.<Source>.channels = <Channel1> <Channel2> ...

# set channel for sink
<Agent>.sinks.<Sink>.channel = <Channel1>
复制代码

案例如下:

# list the sources, sinks and channels for the agent
agent_foo.sources = avro-appserver-src-1
agent_foo.channels = mem-channel-1
agent_foo.sinks = hdfs-sink-1

# set channel for source
agent_foo.sources.avro-appserver-src-1.channels = mem-channel-1

# set channel for sink
agent_foo.sinks.hdfs-sink-1.channel = mem-channel-1
复制代码
配置组件属性
# properties for sources
<Agent>.sources.<Source>.<someProperty> = <someValue>

# properties for channels
<Agent>.channel.<Channel>.<someProperty> = <someValue>

# properties for sinks
<Agent>.sources.<Sink>.<someProperty> = <someValue>
复制代码

案例如下:

agent_foo.sources = avro-AppSrv-source
agent_foo.sinks = hdfs-Cluster1-sink
agent_foo.channels = mem-channel-1

# set channel for sources, sinks

# properties of avro-AppSrv-source
agent_foo.sources.avro-AppSrv-source.type = avro
agent_foo.sources.avro-AppSrv-source.bind = localhost
agent_foo.sources.avro-AppSrv-source.port = 10000

# properties of mem-channel-1
agent_foo.channels.mem-channel-1.type = memory
agent_foo.channels.mem-channel-1.capacity = 1000
agent_foo.channels.mem-channel-1.transactionCapacity = 100

# properties of hdfs-Cluster1-sink
agent_foo.sinks.hdfs-Cluster1-sink.type = hdfs
agent_foo.sinks.hdfs-Cluster1-sink.hdfs.path = hdfs://namenode/flume/webdata

#...
复制代码

常用的Source和Sink种类

常用的Flume Sources
# Avro source:
    avro
# Syslog TCP source:
    syslogtcp
# Syslog UDP Source:
    syslogudp
# HTTP Source:
    http	
# Exec source:
    exec
# JMS source:
    jms
# Thrift source:
    thrift	
# Spooling directory source:(监控目录)
    spooldir
# Kafka source:
    org.apache.flume.source.kafka,KafkaSource
.....	
复制代码
常用的Flume hannels
# Memory Channel
    memory
# JDBC Channel
    jdbc
# Kafka Channel
    org.apache.flume.channel.kafka.KafkaChannel
# File Channel
    file
复制代码
常用的Flume Sinks
# HDFS Sink
    HDFS
# HIVE Sink
    Hive
# Logger Sink
    Logger
# Avro Sink
    Avro
# Kafka Sink
    org.apache.flume.sink.kafka.KafkaSink
# Hbase Sink
    Hbase

更多大数据精彩内容欢迎B站搜索“千锋教育”扫码领取大数据全套资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/681987.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ViewModel进阶 | 使用SavedState实现数据复用的另一种方式

前言&#xff1a;金风玉露一相逢&#xff0c;便胜人间无数。 前言 本文需要有上一篇文章基础&#xff0c;如果不了解的可以先看看《由浅入深&#xff0c;ViewModel配置变更的复用详解》 前面我们了解到&#xff0c;ViewModel 它只能做到因为配置变更页面被销毁而导致重建数据…

ModaHub AI模型开源社区:向量数据库Milvus向量索引是什么?

目录 向量索引 索引创建机制 数据段建索引 用户主动创建索引 闲时建索引 索引概览 FLAT IVF_FLAT IVF_SQ8 IVF_SQ8H IVF_PQ RNSG HNSW ANNOY 选择索引 常见问题 参考文献 向量索引 向量索引&#xff08;vector index&#xff09;是指通过某种数学模型&#xf…

软路由系统 --- OpenWrt网络配置(LAN口、WAN口)

这里使用的 OpenWrt 是一台虚拟机安装的. 配置LAN口IP等信息 编辑修改网络配置文件 rootOpenWrt:~# vi /etc/config/network config interface lanoption type bridgeoption ifname eth0option proto staticoption ipaddr 192.168.100.4option netmask 255.255.255.0option i…

Servlet(下篇)

哥几个来学 Servlet 啦 ~~ 这个是 Servlet&#xff08;上篇&#xff09;的链接&#xff0c; (2条消息) Servlet &#xff08;上篇&#xff09;_小枫 ~的博客-CSDN博客https://blog.csdn.net/m0_64247824/article/details/131229873主要讲了 Servlet的定义、Servlet的部署方式、…

【总结】网页状态码——200正常、302重定向、304客户端有缓存、400浏览器请求传参异常、404未找到、405方法不允许、500服务器异常

目录 200正常500异常--服务器异常Java代码400异常----传参相关的异常get方法长度限制400异常&#xff0c;加了RequestParam(value "name") 必须传值400异常&#xff0c;后端类型是Integer&#xff0c;前端传的是string&#xff0c;转换失败400异常&#xff0c;日期格…

一文带你学习“国密算法”

博主介绍&#xff1a; ✌博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家✌ Java知识图谱点击链接&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; &#x1f495;&#x1f495; 感兴趣的同学可以收…

ES6--一

1、ES6之includes()方法 Array.prototype.includes方法返回一个布尔值&#xff0c;表示某个数组是否包含给定的值&#xff0c;与字符串的includes方法类似。 一般常用这种写法 : [1,2,3].includes(2) 表示2在不在 前面的数组里 项目里 参数 1&#xff09;第一个参数是要…

VUE L 计算监视属性 ⑥

目录 文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持✨ V u e j s Vuejs Vuejs计算属性 C o m p u t e d Computed Computed监视属性 W a t c h Watch Watch总结 文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;…

SpringBoot 实现 elasticsearch 索引操作(RestHighLevelClient 的应用)

文章目录 0. 引入依赖1. 实例创建与关闭2. 创建索引3. 测试索引库存在不存在4. 删除索引库5. 遍历导入数据6. 批量导入数据&#xff08;推荐&#xff09; RestHighLevelClient 是 Elasticsearch 官方提供的Java高级客户端&#xff0c;用于与Elasticsearch集群进行交互和执行各种…

基于Java+Swing实现中国象棋游戏

基于JavaSwing实现中国象棋游戏 一、系统介绍二、功能展示三、其他系统四、获取源码 前言 中国象棋是起源于中国的一种棋&#xff0c;属于二人对抗性游戏的一种&#xff0c;在中国有着悠久的历史。由于用具简单&#xff0c;趣味性强&#xff0c;成为流行极为广泛的棋艺活动。 …

操作系统之死锁详解

本文已收录于专栏 《自考》 目录 背景介绍死锁的前提死锁的概念死锁的分类死锁的产生原因条件 死锁的解决预防避免检测与恢复 死锁的实现总结提升 背景介绍 最近一直在做操作系统的测试题&#xff0c;在做题的过程中发现有很多地方涉及到了关于死锁的知识点。今天就回归课本来自…

机器学习——手写数据集的介绍以及案例讲解

系列文章目录 机器学习聚类——DBSCAN&#xff08;Density-based spatial clustering of applications with noise&#xff0c;基于密度的聚类算法&#xff09; 机器学习集成学习——Adaboost分离器算法 机器学习聚类算法——BIRCH算法、DBSCAN算法、OPTICS算法 机器学习的…

“交通·未来”第27期:基于随机效应机器学习的多区域居民出行模式选择分析...

2020年6月份&#xff0c;公众号正式推出了“交通未来”系列线上公益学术活动等你来~&#xff0c; 2023年&#xff0c;新起航新征程&#xff0c;我们继续前行~ 6月24日下午15:30&#xff0c;我们将迎来活动的第27期。 1、讲座主题 基于随机效应机器学习的多区域居民出行模式选择…

工作三--知识点

1、split 切割字符串 2、includes 而不是写成 if&#xff08;useContext pm_global_teamrole_project_manager || pm_global_teamrole_task_manager || pm_global_teamrole_task_parent_manager&#xff09; 因为 的 优先级 高于 ||&#xff0c;这样写 只能 前面的&…

大数据学习(3)

大数据学习&#xff08;3&#xff09; 1 Hive-SQL-DML语句1.1 Hive SQL Load 加载数据语句1.1.1 Load功能1.1.2 Load语法规则1.1.3 Load 语法实验1.1.3.1 Load Data From Local FS1.1.3.2 Load Data From HDFS1.1.3.3 Overwrite选项 1.2 Hive SQL Insert 插入数据语句1.3 Hive …

河道垃圾自动识别监测算法 opencv

河道垃圾自动识别监测系统通过pythonopencv网络模型技术&#xff0c;河道垃圾自动识别监测算法对水面上的垃圾进行自动识别&#xff0c;一旦发现垃圾污染将自动发出警报。OpenCV基于C实现&#xff0c;同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python…

Win10文件夹选项在哪里打开?Win10文件夹选项打开方法

Win10文件夹选项在哪里打开&#xff1f;Win10电脑中用户不知道在哪里才能打开文件夹选项&#xff0c;这时候用户随意打开Win10电脑上的一个文件夹&#xff0c;然后点击右上角的选项&#xff0c;打开之后就能打开文件夹选项了&#xff0c;也可以打开电脑的运行窗口&#xff0c;在…

自动化漏洞猎人代码分析

0x00 前言 安全人员可以扫描&#xff0c;网络上悬赏网站等的漏洞&#xff0c;如果能够发现其存在着安全漏洞&#xff0c;则可以通过提交漏洞的方式来获得一定的赏金&#xff0c;国外的这类悬赏的网站比较多&#xff0c;比如hackone&#xff0c;这上面列出了大量的资产信息&…

你不得不知道的箭头函数和普通函数使用区别!

前言 箭头函数是 ES6 新增的一种函数类型&#xff0c;它采用箭头 > 定义函数&#xff0c;也称为 lambda 函数。箭头函数语法更为简洁&#xff0c;用起来很是方便顺手。 但它存在一些需要注意的问题和局限性。在实际使用时&#xff0c;我们需要根据具体情况来选择合适的函数…

【夜深人静学数据结构与算法 | 第九篇】栈与队列

目录 ​前言&#xff1a; 栈&#xff1a; 栈的实际应用&#xff1a; 队列&#xff1a; 队列的实际应用&#xff1a; 总结&#xff1a; 前言&#xff1a; 栈与队列是我们学习的两个经典的数据结构&#xff0c;这两个数据结构应用广泛&#xff0c;在计算机内有很多底层应用…