Flume 概念理解

Flume 概念理解

flume最一个可靠的、分布式的和高可用的海量日志采集、聚合和传输的系统。

  • Client:生产数据,运行在独立的线程
  • Event:事件,即一个数据单元,也就是每次发送的一个数据或消息(由消息头和消息体组成)。
  • Flow:event从数据发送方到接收方迁移的一个抽象过程。–数据传输流向
  • Agent:一个独立的Flume进程,处理event,也是数据传输的基本单元,包含组件Source、Channel、Sink。(Agent使用JVM运行Flume,每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks)
  • Source:数据收集组件,作为agent的数据来源,与event的数据发送方对应。–从Client收集数据,传递给Channel。
  • Channel:作为数据在agent中的临时存储,保存有Source组件传递过来的event。
  • Sink:作为对Source传输到Channel中的event数据的消费,将event数据传输到对应的数据接收方(也可以将event数据传输给下一个Agent,形成Agent PipeLine)。–Sink从Channel收集数据,运行咋一个独立线程。

规则:

  1. 每个Source可以传递多个Channel
  2. 每个Channel可以接收多个Source发送的Event,也可以将Event传输给多个Sink
  3. 一个Sink只能消费一个Channel中的Event数据
  4. 当Source接收的是一个Agent来源的数据时,它的数据格式和响应配置要和上一个Agent的数据格式及配置一致
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章