菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
0
0

大数据面试题之葵花宝典

原创
05/13 14:22
阅读数 2153

推荐课程:学习猿地--大数据开发工程师--点击进入

葵花宝典------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<Event> intercept(List<Event> 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选择器
    file

  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

发表评论

0/200
0 点赞
0 评论
收藏
为你推荐 换一批