自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 17_Flume之面试题

面试官系列:谈谈你对Flume的理解 (qq.com)【大数据面试题】(六)Flume 相关面试题总结_flume多选题_云 祁的博客-CSDN博客关于Flume的优化和高可用_flume xms_potpof的博客-CSDN博客

2023-04-16 20:55:53 129

原创 16_Flume之源码分析

随后,这个轮询线程会通过 Guava 的 EventBus 机制通知 Application 类配置发生了更新,从而触发 Application#handleConfigurationEvent 方法,重新加载所有的组件。组件的start方法是在 MonitorRunnable 的run方法中调用的,MonitorRunnable 是一个线程,run方法中会获取当前组件的状态(默认STOP)以及预期的状态(START),如果不相等则通过预期的状态执行相应的逻辑(ETCD直呼内行~~~)

2023-04-16 20:55:46 374

原创 15_Flume之TailSource源码修改(修复Flume任务故障文件重命名数据丢失)

我们常用TailSource来监听日志文件,被监听的日志文件是常配置了按时间滚动生成方式的,也就是一天一个文件,到零点时会将gather.log更名为gather-20230415.log。重启服务后,任务从偏移量记录表中找到iNode + gather.log 对应的偏移量,但是日志文件中新生成了 gather.log,原来的已经更名为gather-20230415.log,假设,设置Flume任务只监听 gather.log(也可以监听整个日志文件夹,但有问题,看完下面就明白) ,

2023-04-16 20:55:28 355

原创 14_Flume之事务

同理,事务以类似的方式处理从channel到sink的传递过程,如果因为某种原因使得event无法记录,那么事务将会回滚,且所有的event都会保持到channel中,等待重新传递。Flume的事务机制保证了source产生的每个event都会传送到sink中(如果失败会无限重试),flume采用的是At-least-once的提交方式,这样就造成每个source产生的event至少到达sink一次,这种方式保证了数据的可靠性,但数据可能重复。rollback的关键代码。

2023-04-16 20:55:03 224

原创 13_Flume之监控

Flume自带的有两种监控方式, http监控和ganglia监控,用户还可以实现自定义的监控。字段名称含义备注打开的连接数组件类型追加到channel中的批数量source端刚刚追加的批数量成功放入channel的event数量source追加目前收到的数量组件开始时间、结束时间source端成功收到的event数量source追加目前放入channel的数量成功放入channel的event数量通道使用比例尝试放入将event放入channel的次数。

2023-04-16 20:54:45 494

原创 12_Flume之连接ACL的Kafka

【代码】12_Flume之连接ACL的Kafka。

2023-04-16 20:54:34 99

原创 11_Flume之启动任务脚本

将Flume客户端和真正任务配置的文件夹隔离开通过启动命令指定每个任务的执行日志真正任务配置中的可变参数 均采用传参使用,用于生产开发测试不同环境的不同参数。

2023-04-16 18:16:34 307

原创 10_Flume之拦截器

Inteceptor主要用来对event进行过滤和修改,Interceptor可以将处理结果传递给下一个Interceptor从而形成InterceptorChain。多个Interceptor在配置文件中以空格分隔,拦截器的顺序就是event处理的顺序,只有一个拦截器通过之后才会进行到下一个拦截器。Inteceptor相关源码在flume-ng-core的org.apache.flume.interceptor下。环境:Java - Maven pom.xml--此工具会将全部依赖打包--> <!

2023-04-15 20:54:13 298

原创 09_Flume之Sink的Processors

当被选择器被调用的时候,它不会屏蔽故障的sink,继续尝试访问每一个可用的sink,如果所有的sink都故障了,选择器则无法给sink传播数据。如果backoff被开启,则sink processor会屏蔽故障的sink,选择器会在一个给定的超时时间内移除它们,当超时时间完毕后,sink还是无法访问,则超时时间以指数方式增长。Sink Processors可以使在Sink Group中所有sink具有负载均衡的能力,或者在一个sink失效后切换到另一个sink的fail over模式。

2023-04-15 20:51:40 140

原创 08_Flume之HDFS Sink 的参数解析及异常处理

设置为0,如果flume程序突然宕机,就会导致 hdfs上的 .tmp后缀的文件无法会更改为完成的文件,造成一种假象,以为该文件正在写入。当程序重启时,就会有两个 .tmp文件。需要注意的是,这些jar包的版本要和你的Hadoop集群的版本保持一致,否则可能会出现不兼容等问题。rollInterval、rollSize、rollCount是基于文件的条件限制滚动生成文件的,基于文件而言的。rollInterval、rollSize、rollCount是基于文件的条件限制滚动生成文件的,基于文件而言的。

2023-04-15 20:50:47 583

原创 07_Flume之Channel的selector

复制方式可以将最前端的数据源复制多份,分别传递到多个Channel中,每个Channel接收到的数据都是相同的。前面介绍过,一个souce可以向多个channel同时写数据,所以也就产生了以何种方式向多个channel写的问题(比如自带的。如果没有手动配置,source的默认channel选择器类型是replicating(复制),当然这个选择器只针对source配置了多个channel的时候。就可以通过配置来按照一定的规则进行分发,听起来很像负载均衡),channel选择器也就应运而生。

2023-04-15 20:49:58 124

原创 05_Flume之KafkaSource参数解析

Flume是一个开源的分布式日志收集系统,而Kafka是一个高吞吐量的分布式消息系统。KafkaSource是Flume中的Source类型之一,可以实现数据从Kafka到Flume的无缝传输。

2023-04-15 20:48:45 924

原创 06_Flume之各种Channel的介绍及参数解析

Channel被设计为Event中转临时缓冲区,存储Source收集并且没有被Sink读取的Event,为平衡Source收集和Sink读取数据的速度,可视为Flume内部的消息队列。Channel线程安全并且具有事务性,支持source写失败重复写和sink读失败重复读等操作。常用的Channel类型有Memory Channel、File Channel、KafkaChannel等。Channel类型说明基于内存的channel,实际就是将event存放于内存中一个固定大小的队列中。

2023-04-15 20:47:20 881

原创 04_Flume之HTTPSource参数解析

Flume 1.9.0 版本的 HTTPSource 是一种数据源类型,可以用于接收通过 HTTP 协议传输的数据。这个版本中,HTTPSource 新增了许多参数,并且改进了性能和稳定性。

2023-04-15 20:45:25 253 1

原创 03_Flume之TaildirSource参数解析

TaildirSource是一种常用的数据源类型,可以实时监控指定目录下新增或修改的文件,并将其发送到Flume的Channel中供后续处理或转发。TaildirSource最大的优点在于兼容多种格式和编码的日志文件,非常适合用于实时采集和分析系统日志和应用日志等场景。

2023-04-15 19:37:39 685 1

原创 02_Flume之各种Source的介绍及参数解析

Source用于对接各种数据源,将收集到的事件发送到临时存储Channel中。常用的source类型有:Avro Source、Exec Source、Kafka Source、TaildirSource、Spooling Directory Source等,其他类型source请查阅Flume-NG官方介绍。source类型说明1支持Thrift协议,Thrift Source监听Thrift端口,接收外部Thrift客户端发送过来的Thrift Event数据。

2023-04-15 19:36:50 889

原创 01_Flume之介绍入门

Flume是一个高可靠、高可用、分布式的用于不同数据源的流式数据采集、收集、聚合系统。flume最简单的数据流模型如下图所示。Flume是Cloudera提供的一个高可靠、高可用、分布式的用于不同数据源的流式数据采集、收集、聚合系统。Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力,一般的采集需求,通过对flume的简单配置即可实现。针对特殊场景也具备良好的自定义扩展能力。

2023-04-15 19:28:23 222

原创 Hadoop 集群间同步数据(高可用)-相同版本

Hadoop 集群间同步数据(高可用)-相同版本,源集群和目标集群的 NameNode 都是高可用的

2023-04-06 22:58:01 1462 1

原创 Flume之 各种 Source 的介绍及参数解析

一、Source介绍Source用于对接各种数据源,将收集到的事件发送到临时存储Channel中。常用的source类型有:Avro Source、Exec Source、Kafka Source、TaildirSource、Spooling Directory Source等,其他类型source请查阅Flume-NG官方介绍。1、Avro Source支持Avro协议,接收RPC事件请求。Avro Source通过监听Avro端口接收外部Avro客户端流事件(event),在Flume的多层架构

2022-05-25 23:32:04 3590 1

原创 Flume之 各种 Channel 的介绍及参数解析

一、Channel介绍Channel被设计为Event中转临时缓冲区,存储Source收集并且没有被Sink读取的Event,为平衡Source收集和Sink读取数据的速度,可视为Flume内部的消息队列。Channel线程安全并且具有事务性,支持source写失败重复写和sink读失败重复读等操作。常用的Channel类型有Memory Channel、File Channel、KafkaChannel等。1、Memory Channel对比Channel, Memory Channel读写速度快

2022-04-06 19:59:14 6753

原创 Flume之HDFS Sink 的参数解析及异常处理

一、配置详解type Sink类型为hdfshdfs.path HDFS存储路径,支持按照时间分区 集群的NameNode名字: 单节点:hdfs://主机名(ip):9000/%Y/%m/%d/%H HA集群:hdfs://nameservice(高可用NameNode服务名称)/%Y/%m/%d/%H hdfs.filePrefix 默认值:FlumeData Event输出到HDFS的文件名前缀hdfs.fileSuffix Event输出到HDFS的文件名后缀h

2022-04-05 22:57:53 3372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除