美文网首页
【Flume1】Flume组成,Put事务,Take事务

【Flume1】Flume组成,Put事务,Take事务

作者: bigdata张凯翔 | 来源:发表于2021-01-24 11:42 被阅读0次

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

    1)taildir source

    (1)断点续传、多目录
    (2)哪个Flume版本产生的?
    Apache1.7、CDH1.6
    (3)没有断点续传功能时怎么做的?
    自定义
    (4)taildir挂了怎么办?
    不会丢数:断点续传
    重复数据:
    (5)怎么处理重复数据?
    不处理:生产环境通常不处理,出现重复的概率比较低。处理会影响传输效率。
    处理
    自身:在taildirsource里面增加自定义事务,影响效率
    找兄弟:下一级处理(hive dwd sparkstreaming flink布隆)、去重手段(groupby、开窗取窗口第一条、redis)

    (6)taildir source 是否支持递归遍历文件夹读取文件?
    不支持。 自定义 递归遍历文件夹 + 读取文件

    2)file channel /memory channel/kafka channel

    (1)File Channel

              数据存储于磁盘,优势:可靠性高;劣势:传输速度低
              默认容量:100万event
    注意:FileChannel可以通过配置dataDirs指向多个路径,每个路径对应不同的硬盘,增大Flume吞吐量。
    (2)Memory Channel
              数据存储于内存,优势:传输速度快;劣势:可靠性差
              默认容量:100个event
    (3)Kafka Channel
              数据存储于Kafka,基于磁盘;
              优势:可靠性高;
              传输速度快 Kafka Channel 大于Memory Channel + Kafka Sink  原因省去了Sink阶段
    (4)Kafka Channel哪个版本产生的?
              Flume1.6 版本产生=》并没有火;因为有bug
              topic-start 数据内容
              topic-event 数据内容    ture  和false 很遗憾,都不起作用。
              增加了额外清洗的工作量。
              Flume1.7解决了这个问题,开始火了。
    (5)生产环境如何选择
              如果下一级是Kafka,优先选择Kafka Channel
              如果是金融、对钱要求准确的公司,选择File Channel 
              如果就是普通的日志,通常可以选择Memory Channel
              每天丢几百万数据   pb级   亿万富翁,掉1块钱会捡?
    
    3)HDFS sink
    (1)时间(1小时-2小时) or 大小128m、event个数(0禁止)
    具体参数:
    hdfs.rollInterval=3600,
    hdfs.rollSize=134217728,
    hdfs.rollCount =0
    
    4)事务
        Source到Channel是Put事务
        Channel到Sink是Take事务
    

    相关文章

      网友评论

          本文标题:【Flume1】Flume组成,Put事务,Take事务

          本文链接:https://www.haomeiwen.com/subject/gtpycktx.html