大数据面试题之葵花宝典------flume

2020-12-26 23:27

阅读:466

标签:ESS   拦截器   实现   自身   注意事项   区分   etl   多个   说明   

葵花宝典------flume

            • 1. Flume组成,Put事务,Take事务
            • 2. Flume拦截器
            • 3. Flume Channel选择器
            • 4. Flume监控器
            • 5. Flume采集数据会丢失吗?(防止数据丢失的机制)
            • 6. Flume内存
            • 7. FileChannel优化

 

1. Flume组成,Put事务,Take事务
1、Taildir Source:断点续传、多目录。Flume1.6以前需要自己自定义Source记录每次读取文件位置,实现
断点续传。
2、File Channel:数据存储在磁盘,宕机数据可以保存。但是传输速率慢。适合对数据传输可靠性要求高的场景
比如,金融行业。
3、Memory Channel:数据存储在内存中,宕机数据丢失。传输速率快。适合对数据传输可靠性要求不高的场景,
比如,普通的日志数据。
4、Kafka Channel:减少了Flume的Sink阶段,提高了传输效率。           
5、Source到Channel是Put事务
6、Channel到Sink是Take事务
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
2. Flume拦截器
(1)拦截器注意事项
	ETL拦截器和区分类型拦截器。
    采用两个拦截器的优缺点:优点,模块化开发和可移植性;缺点,性能会低一些
(2)自定义拦截器步骤
    a)实现 Interceptor
	b)重写四个方法
     	?	initialize 初始化
     	?	public Event intercept(Event event) 处理单个Event
    	?	public List intercept(List events) 处理多个Event,在这个方法中
    	    调用Event intercept(Event event)
    	?	close 方法
	c)静态内部类,实现Interceptor.Builder
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
3. Flume Channel选择器

技术图片

4. Flume监控器
Ganglia
  • 1
5. Flume采集数据会丢失吗?(防止数据丢失的机制)
不会,Channel存储可以存储在File中,数据传输自身有事务。
  • 1
6. Flume内存
开发中在flume-env.sh中设置JVM heap为4G或更高,部署在单独的服务器上(4核8线程16G内存)
-Xmx与-Xms最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导致频繁fullgc。
  • 1
  • 2
7. FileChannel优化
通过配置dataDirs指向多个路径,每个路径对应不同的硬盘,增大Flume吞吐量。
官方说明如下:
Comma separated list of directories for storing log files. Using multiple directories
on separate disks can improve file channel peformance

checkpointDir和backupCheckpointDir也尽量配置在不同硬盘对应的目录中,保证checkpoint坏掉后,可以
快速使用backupCheckpointDir恢复数据

大数据面试题之葵花宝典------flume

标签:ESS   拦截器   实现   自身   注意事项   区分   etl   多个   说明   

原文地址:https://www.cnblogs.com/shan13936/p/13892305.html


评论


亲,登录后才可以留言!