大数据(4b)Flume经验

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据(4b)Flume经验相关的知识,希望对你有一定的参考价值。

Flume版本:1.9

source

  • 常用的source:Taildir Source
  • Taildir Source功能:监控目录下的多个追加文件
  • 实现断点续传的原理:读取完数据后 将offset保存到磁盘的文件中
  • 如果Taildir Source挂了,可能会出现重复数据,下面有两种处理方式:
    1、Flume不处理,去重任务交给下游,这样可以确保Flume的效率(推荐)
    2、Flume加事务,但会变慢(不推荐)

channel

名称说明默认容量应用场景
memory channel基于内存,效率高,可靠性低100个event普通日志,要求快,丢一点无所谓
file channel基于磁盘,效率低,可靠性高100万个event和钱相关的,要求准
kafka channel基于Kafka,效率高、可靠性高直接对接Kafka
  • 如果memory channel挂了,最坏可能丢100个event

sink

  • 常用的sink:HDFS Sink
  • 对于HDFS Sink的HDFS小文件问题,要配置文件滚动:
    1、按大小滚动:128M(HDFS块大小)
    2、按时间滚动:1小时(注意:时间不能太长,如果设2小时,23:59滚动一次后01:59才滚下一次,而ods脚本在01:00执行的话,就会漏数据)
    3、按event数量滚动:通常设为0,禁用

拦截器

  • ETL拦截器:用于轻度清洗,例如:过滤json格式不完整的数据
  • 时间拦截器:提取日志的时间,用于日期分区,避免零点漂移的问题

内存优化

  • 修改flume-env.sh把内存调到4~6G(假设日志服务器16G)
  • 促销节日来之前,增加机器(内存)

以上是关于大数据(4b)Flume经验的主要内容,如果未能解决你的问题,请参考以下文章

聊聊Flume和Logstash的那些事儿

大数据日志采集工具Flume

大数据日志收集框架之Flume入门

阿里大数据工程师教你怎样理解Flume

大数据采集工具flume各种采集方案案例

聊聊Flume和Logstash的那些事儿