2024-02-19(Flume,DataX)

news/2024/6/16 19:35:58 标签: 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.niftyadmin.cn/n/5383330.html

相关文章

http前生今世

HTTP/0.9,仅支持GET方法,并且响应中没有HTTP头信息,只有文档内容。 HTTP/1.0增加了对POST方法、状态码、HTTP头信息等的支持,这一版本也是广泛应用的历史性版本。 HTTP/1.1引入了持久连接(Persistent Connections&…

ClickHouse 基础(一)

官网 ClickHouse release 24.1, 2024-01-30 以毫秒为单位查询数十亿行 ClickHouse是用于实时应用和分析的最快、资源效率最高的开源数据库。 安装ClickHouse 使用ClickHouse,你有三个选择: ClickHouse云:官方ClickHouse作为一项服务,-由ClickHouse的创…

【Java EE初阶二十】关于http(一)

1. 初识http HTTP 最新的版本应该是 HTTP/3.0,目前大规模使用的版本 HTTP/1.1; 下面来简单说明一下使用 HTTP 协议的场景: 1、浏览器打开网站 (基本上) 2、手机 APP 访问对应的服务器 (大概率) 前面的 TCP与UDP 和http不同,HTTP 的报文格式&a…

windows10重装系统后, 磁盘目录上出现了一个黄色三角感叹号和一把锁(BitLocker解锁)

BitLocker解锁 通过cmd命令窗口关闭Bitlocker锁 通过cmd命令窗口关闭Bitlocker锁 manage-bde -off D:执行这个命令之后会发现提示【解密正在进行中】,但是一般来说对于这种所谓的进行中都会想要明确的看到进度显示 那么就需要用到下一个命令了 manage-bde -status…

【开源】SpringBoot框架开发教学过程管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2.3.1 教师功能如下2.3.2 学生功能如下 三、系统展示 四、核心代码4.1 查询签到4.2 签到4.3 查询任务4.4 查询课程4.5 生成课程成绩 六、免责说明 一、摘要 1.1 项目介绍 基于JAVAVu…

预设与结果

等,假如,如果。 等我赚到XX,我就退休,进入养老生活。 等我拥有XX,我就可以,然后变得。 等我成为XX, 那就好了。 每个角色都有局限性,不要只从局外看到仅有的光鲜。 而要评估所付出的成本和代价…

深度学习基础——卷积神经网络(一)

卷积操作与自定义算子开发 卷积是卷积神经网络中的基本操作,对于图像的特征提取有着关键的作用,本文首先介绍卷积的基本原理与作用,然后通过编写程序实现卷积操作,并展示了均值、高斯与sobel等几种经典卷积核的卷积效果&#xff…

c# 二叉树

在 C# 中,二叉树是一种常见的数据结构,它由节点组成,每个节点最多有两个子节点:左子节点和右子节点。在 C# 中,可以使用类来实现二叉树的节点,并且通过引用连接节点来构建整棵树。 以下是一个简单的示例&a…