2024-02-19(Flume)

1.flume中拦截器的作用:个人认为就是修改或者删除事件中的信息(处理一下事件)。

2.一些拦截器

Host Interceptor,Timestamp Interceptor,Static Interceptor,UUID Interceptor,Search and Replace Interceptor,自定义拦截器

3.Channel选择器

Replicating Channel Selector,Multiplexing Channel Selector等。

功效:根据一些设置,使得传过来的事件选择走哪个channel。并且可以配合拦截器来呈现出许多不同的功效。

通过自定义的规则,来去决定事件Event发送到哪个channel。

4.Sink处理器

Sink用来消费存储在channel中的事件Event。

可以将多个sink放入到一个组中,sink处理器能够对一个组中所有的sink进行负载均衡,在一个sink出现临时错误时进行故障转移。

5.一些sink处理器

Default Sink Processor:

默认的Sink处理器只支持单个Sink。

Failover Sink Processor:

故障转移处理器维护了一个带有优先级的sink列表,故障转移机制将失败的sink放入到一个冷却池中,如果sink成功了发送事件,将其放入到活跃池中,sink可以设置优先级,优先级越高,如果一个sink发送事件失败,下一个有更高优先级的sink将被用来发送事件,比如:优先级100的比优先级80的先被使用,如果没有设置优先级,按照配置文件中配置的顺序来决定。

一个组中有sink处理器时,进行负载均衡选择sink处理器的方式是可选的,例如:轮询,随机,自定义等。

6.使用Flume导入数据到HDFS

数据导出到HDFS需要使用HDFS Sink,conf配置文件中进行相应的配置即可。

7.Flume监控

Ganglia工具。Ganglia用于测量和监控数以千计的节点(其实不外乎就是用Ganglia工具来监控Flume节点),Ganglia核心包括gmond(监控守护进程)、gmetad(元数据守护进程)以及一个web前端。主要是用来监控节点的性能,例如:cpu,memory,硬盘利用率,I/O负载,网络流量情况等,可以通过曲线见到每个节点的工作状态,对合理调整,分配系统资源,提高系统整体性能起到重要作用。

8.Flume总结

Flume是一个分布式高可用高可靠的海量日志采集,聚合和传输的系统,支持在日志系统中定制各类数据发送方,用于收集数据,同时提供了对数据进行简单处理写到各种数据接收方的能力。

分布式:指通过部署多个agent来实现分布式。

高可用:通过sink的负载均衡或者副本机制来保证高可用。

高可靠:通过Channel的事务来保证高可靠。

各类数据发送方:通过可以指定很多类型的Source来实现支持各种类型的数据发送方。

eg:

对数据进行简单处理:通过拦截器,制定规则,来对数据进行修改,丢弃等操作。

写到各种数据接收方:通过支持各种类型的Sink来实现支持写到各种数据接收方的能力。

eg:

Flume的使用:

Flume的使用也非常简单,我们只需要在配置文件中配置好Flume的三大组件(Source,Channel,Sink)的相应配置,就可以使用了。

Flume的监控:使用Ganglia工具来监控Flume节点。

---------------------------------------------------------------------------------------------------------------------------------

DataX

9.DataX概述:

DataX是阿里巴巴开源的一个异构数据源(就是不同数据的来源,例如mysql,mongodb,hdfs等)的离线同步工具,致力于实现包括关系型数据库(mysql,oracle等),hdfs,hive,odps,hbase,ftp等各种异构数据源之间稳定高效的数据同步功能。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能将已有的数据源做到无缝数据同步。

如图所示:

为了解决异构数据源的同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。 

sqoop是将mysql数据库的数据导入到hdfs中(以及反方向的导出),使用场景相对“单一”。

10.DataX的结构:

以Mysql为例:

Reader:数据采集模块,负责数据源数据的采集,将数据发给FrameWork

Writer:数据写入模块,负责不断从Frameworks中拿数据,并将数据写入到目的端。

Framework:用于连接Reader和Writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。 

11.在配置文件中配置好reader的读取信息,以Json格式的形式,DataX自己就知道怎么去做了

eg:

12.在配置文件中配置好writer的读取信息,以Json格式的形式,DataX自己就知道怎么去做了

eg:

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

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

相关文章

C++集群聊天服务器 nginx+redis安装 笔记 (中)

一、nginx安装 nginx: download 下载nginx安装包 hehedalinux:~/package$ tar -zvxf nginx-1.24.0.tar.gz nginx-1.24.0/ nginx-1.24.0/auto/ nginx-1.24.0/conf/ nginx-1.24.0/contrib/ nginx-1.24.0/src/ nginx-1.24.0/configure nginx-1.24.0/LICENSE nginx-1.24.0/README…

PLC远程监控在制药行业的应用

PLC远程监控在制药行业的应用 制药行业是一个需要高度控制和精确性的行业,而PLC远程监控技术正是这种需求的完美解决方案。PLC远程监控技术是指将传感器、执行器和其他设备连接到PLC系统中,并使用网络和远程访问技术实现对设备的远程监控和控制。下面我…

HarmonyOS4.0系统性深入开发34栅格布局(GridRow/GridCol)

栅格布局(GridRow/GridCol) 概述 栅格布局是一种通用的辅助定位工具,对移动设备的界面设计有较好的借鉴作用。主要优势包括: 提供可循的规律:栅格布局可以为布局提供规律性的结构,解决多尺寸多设备的动态…

NAS系统折腾记 | TinyMediaManager刮削电影海报

搭建好了NAS系统和Emby Media Server,接下来就是怎样对下载好的电影/电视剧集等内容进行刮削来展示电影海报墙获得更好的效果了。实际上,Emby Server本身就内置了强大的元数据抓取功能,能够自动从互联网上抓取电影、电视剧的元数据和海报等信…

论UI的糟糕设计:以百度网盘为例

上面这一排鼠标一经过就会弹出来(不是点才弹出来),然后挡住你的各种操作, 弹出来时你就必须等它消失,卡一下才能操作。 在用户顺畅地操作内容时,经常就卡一下、卡一下、卡一下…… 1、比如鼠标从下到上&am…

基于YOLOv7算法和Widerface数据集的高精度实时人脸检测系统(PyTorch+Pyside6+YOLOv7)

摘要:基于YOLOv7算法和Widerface数据集的高精度实时人脸检测系统可用于日常生活中检测与定位人脸目标,此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别,同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测…

【springboot+vue项目(十五)】基于Oauth2的SSO单点登录(二)vue-element-admin框架改造整合Oauth2.0

Vue-element-admin 是一个基于 Vue.js 和 Element UI 的后台管理系统框架,提供了丰富的组件和功能,可以帮助开发者快速搭建现代化的后台管理系统。 一、基本知识 (一)Vue-element-admin 的主要文件和目录 vue-element-admin/ |…

如何确定分库还是 分表?

分库分表 分库分表使用的场景不一样: 分表因为数据量比较大,导致事务执行缓慢;分库是因为单库的性能无法满足要求。 分片策略 1、垂直拆分 水平拆分 3 范围分片(range) 垂直水平拆分 4 如何解决数据查询问题&a…

【Jvm】性能调优(拓展)Jprofiler如何监控和解决死锁、内存泄露问题

文章目录 Jprofiler简介1.安装及IDEA集成Jprofiler2.如何监控并解决死锁3.如何监控及解决内存泄露(重点)4.总结5.后话 Jprofiler简介 Jprofilers是针对Java开发的性能分析工具(免费试用10天), 可以对Java程序的内存,CPU,线程,GC,锁等进行监控和分析, 1.安装及IDEA集成Jprofil…

车载软件架构 —— Adaptive AUTOSAR软件架构中时间同步、网络管理和软件更新策略

车载软件架构 —— Adaptive AUTOSAR软件架构中时间同步、网络管理和软件更新策略 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成…

解决用IPV6+DDNS访问UNRAID webui周期性失效的问题,smb不能访问的问题

我使用的unraid系统使用ddns(DDNSGO)绑定域名(阿里域名)与主机的ipv6地址进行远程访问,unraid是6.12.8。 遇到的问题是,配置当时是没问题的,但是过几天就会失效,无法通过域名访问we…

Maven高级(一)

文章目录 Maven高级(一)1. 分模块设计与开发1.1 介绍1.2 实践1.2.1 分析1.2.2 实现 1.3 总结 2. 继承与聚合2.1 继承2.1.1 继承关系2.1.1.1 思路分析2.1.1.2 实现 2.1.2 版本锁定2.1.2.1 场景2.1.2.2 介绍2.1.2.3 实现2.1.2.4 属性配置 2.2 聚合2.2.1 介…

扫码即可快速协作:草料二维码底部协作面板功能详解

功能介绍 在二维码上添加 底部协作面板 功能后 ,扫码后不仅可以阅读设备信息、产品资料等基本信息,还可以在二维码底部输入内容评论并他人快速协作,支持添加图文、语言、手写签名等操作。 底部协作面板是提供给组织内部成员快速协作的功能&…

《汇编语言》- 读书笔记 - 第10章-CALL 和 RET 指令

《汇编语言》- 读书笔记 - 第10章-CALL 和 RET 指令 10.1 ret 和 retf检测点 10.1 10.2 call 指令10.3 依据位移进行转移的 call 指令检测点 10.2 10.4 转移的目的地址在指令中的 call 指令检测点 10.3 10.5 转移地址在寄存器中的 call 指令10.6 转移地址在内存中的 call 指令检…

数据模型概念

一、概念 (1) 定义 在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。根据模型的应用的不同目的,可以将这些模型划分为两类: (2) 分类 A:概念数据模型 它也称信息模型它是按用户的观点(观念世界&…

JVM(2)实战篇

1 内存调优 1.1 内存溢出和内存泄漏 内存泄漏(memory leak):在Java中如果不再使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收,这种情况就称之为内存泄漏。 内存泄漏绝…

单调队列和优先队列

本篇记录下一下关于单调队列和优先队列(堆)的方法以及解题思路. 文章目录 一. 单调队列1. 绝对差不超过限制得最长连续子数组2. 跳跃游戏 VI3. 设计自助结算系统4. 和至少为k的最短子数组5. 满足不等式的最大值 二. 优先队列1. 最后一块石头的重量2. 数据…

十二:枚举与注解

文章目录 01、枚举类的使用1.1、枚举类的理解1.2、自定义枚举类1.3、使用enum关键字定义枚举类1.4、Enum类中的常用方法1.5、使用enum关键字定义的枚举类实现接口 02、注解的使用2.1、注解的理解2.3、如何自定义注解2.4、jdk中4个基本的元注解的使用12.5、jdk中4个基本的元注解…

uniapp 适配鸿蒙next调研

1.官方的一些回答 DCloud有资源第一时间得到鸿蒙无apk手机的上市计划。我们和华为保持着紧密沟通,会把握好节奏,不用担心。大家可以观察一个信号,等微信的鸿蒙next版敲定了,鸿蒙无apk手机就可以明确上市计划了。鸿蒙的开发语言是a…