Flume

目录

概述

概念、模型和特点

实践

问题


概述

flume是分布式的,可靠的,用于从不同的来源有效收集 聚集 和 移动 大量的日志数据用以集中式的数据存储的系统。

是apache的一个顶级项目

概念、模型和特点

概念:

Flume Event -

Flume 事件 - 被定义为一个具有有效荷载的字节数据流和可选的字符串属性集。

Flume Agent-

Flume 代理 - 是一个进程承载从外部源事件流到下一个目的地的过程。包含source channel 和 sink

  • Source - 数据源 - 消耗外部传递给他的事件,外部源将数据按照Flume Source 能识别的格式将Flume 事件发送给Flume Source

    • Taildir Source 相比 Exec Source、Spooling Directory Source 的优势

      TailDir Source:断点续传、多目录。Flume1.6 以前需要自己自定义 Source 记录每次读取文件位置,实现断点续传。不会丢数据,但是有可能导致数据重复

      Exec Source 可以实时搜集数据,但是在 Flume 不运行或者 Shell 命令出错的情况下,数据将会丢失。

      Spooling Directory Source 监控目录,支持断点续传。

  • Channel - 数据通道 - 是一个被动的存储,用来保持事件,直到由一个Flume Sink消耗。

    • file channel :基于磁盘,可靠性高、效率低

      memory channel:基于内存, 可靠性低、效率高

      kafka channel:数据存储在Kafka里面。kafka数据存储在磁盘。

      基于磁盘。可靠性高。

      kafka channel 》 memory channel + kafka sink

      性能高

      哪个版本之后产生的?1.6产生的并没有火。

      header+内容=》 bug

      11.7之后版本解决了。在公司中大量使用。

  • Sink - 数据汇聚点 - 代表外部数据存放位置。发送flume中的事件到指定的外部目标。

特点:

  • 复杂流动: Flume允许用户进行多级流动到最终目的地,也允许扇出流(一到多)、扇入流(多到一)的流动和故障转移、失败处理。

  • 可靠性:事务型的数据传递,保证数据的可靠性。

  • 可恢复:通道可以以内存或文件的方式实现,内存更快,但是不可恢复,文件比较慢但提供了可恢复性。

实践

添加主机
# topic
log_daohang.sources  = r1 
log_daohang.channels = c1
log_daohang.sinks = k1
​
# source
log_daohang.sources.r1.type = TAILDIR
log_daohang.sources.r1.filegroups = f1
log_daohang.sources.r1.filegroups.f1 = /data/dhlog/active/active.log
log_daohang.sources.r1.positionFile = /data/newsapp/h5/duoduo.json
​
log_daohang.sources.r1.interceptors = i1
log_daohang.sources.r1.interceptors.i1.type = org.apache.flume.sink.solr.morphline.UUIDInterceptor$Builder
log_daohang.sources.r1.interceptors.i1.headerName = key
log_daohang.sources.r1.interceptors.i1.preserveExisting = false
​
​
# channel
log_daohang.channels.c1.type = file
log_daohang.channels.c1.capacity = 10000
log_daohang.channels.c1.transactionCapacity = 1000
log_daohang.channels.c1.checkpointDir = /data/filechannel/checkpoint/daohang/ad
log_daohang.channels.c1.dataDirs =/data/filechannel/data/daohang/ad
​
# sink
log_daohang.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
log_daohang.sinks.k1.topic = log_9973_active
log_daohang.sinks.k1.brokerList = kafka1:9092,kafka2:9092,kafka3:9092
log_daohang.sinks.k1.channel = c1
log_daohang.sinks.k1.batchSize = 20
log_daohang.sinks.k1.kafka.producer.max.request.size = 10485760
log_daohang.sinks.k1.kafka.producer.compression.type = gzip
​
# bind
log_daohang.sources.r1.channels = c1
​
​
​
[root@dh-eater1 active]# mkdir -p /data/filechannel/checkpoint/daohang/ad
[root@dh-eater1 active]# mkdir -p /data/filechannel/data/daohang/ad

问题

1)重启后重新读取当天的资源

配置参数:log_daohang.sources.r1.positionFile = /data/newsapp/h5/duoduo.json

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值