大数据高频面试题-Flume相关总结

4.4 Flume相关总结

  • 4.4.1 Flume组成,Put事务,Take事务 
  • 4.4.2 Flume拦截器 
  • 4.4.3 Flume Channel选择器 
  • 4.4.4 Flume监控器 
  • 4.4.5 Flume采集数据会丢失吗? 
  • 4.4.6 Flume内存 
  • 4.4.7 FileChannel优化 
  • 4.4.8 HDFS Sink小文件处理 

4.4.1 Flume组成,Put事务,Take事务

1Flume组成,Put事务,Take事务

Taildir Source断点续传、多目录Flume1.6以前需要自己自定义Source记录每次读取文件位置,实现断点续传。

File Channel:数据存储在磁盘,宕机数据可以保存。但是传输速率慢。适合对数据传输可靠性要求高的场景比如金融行业。

Memory Channel:数据存储在内存中,宕机数据丢失。传输速率快。适合对数据传输可靠性要求不高的场景,比如,普通的日志数据。

Kafka Channel:减少了Flume的Sink阶段,提高了传输效率           

SourceChannel是Put事务

Channel到Sink是Take事务

 

4.4.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

 

4.4.3 Flume Channel选择器

大数据高频面试题-Flume相关总结_第1张图片

 

4.4.4 Flume监控器

Ganglia

 

4.4.5 Flume采集数据会丢失吗?(防止数据丢失的机制)

不会,Channel存储可以存储File中,数据传输身有事务

 

4.4.6 Flume内存

开发flume-env.sh设置JVM heap为4G或更高,部署在单独的服务器上(4核8线程16G内存)

-Xmx与-Xms最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导致频繁fullgc

 

4.4.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恢复数据

 

4.4.8 HDFS Sink小文件处理

(1)HDFS存入大量小文件,有什么影响?

元数据层面:每个小文件都有一份元数据,其中包括文件路径,文件名,所有者,所属组,权限,创建时间等,这些信息都保存在Namenode内存中。所以小文件过多,会占用Namenode服务器大量内存,影响Namenode性能和使用寿命

计算层面:默认情况下MR会对每个小文件启用一个Map任务计算,非常影响计算性能。同时也影响磁盘寻址时间。

(2)HDFS小文件处理

官方默认的这三个参数配置写入HDFS后会产生小文件,hdfs.rollInterval、hdfs.rollSize、hdfs.rollCount

基于以上hdfs.rollInterval=3600,hdfs.rollSize=134217728,hdfs.rollCount =0hdfs.roundValue=10,hdfs.roundUnit= second几个参数综合作用,效果如下:

(1)tmp文件在达到128M时会滚动生成正式文件

(2)tmp文件创建超10时会滚动生成正式文件

举例:在2018-01-01 05:23的时侯sink接收到数据,那会产生如下tmp文件:

/atguigu/20180101/atguigu.201801010520.tmp

即使文件内容没有达到128M,也会在05:33时滚动生成正式文件

 


注:内容源自“尚硅谷”网络公开资源整理

—— 温故而知新,可以为师矣。

 

你可能感兴趣的:(flume,大数据知识点梳理)