Flume的简单了解:

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: **1.flume 是分布式的日志收集系统,把收集来的数据传送到目的地去。 2。flume里面有个核心概念,叫做agent。

**1.flume 是分布式的日志收集系统,把收集来的数据传送到目的地去。
2。flume里面有个核心概念,叫做agent。agent是一个java进程,运行在日志收集节点。
3。agent里面包含3个组件:source, channel, sink**
*3.1 source组件是专用于(收集日志),可以处理各种类型各种格式的日志数据,包括 avro, thrift, exec, jms, spooling directory, netcat, sequence generator, syslog, http, legacy, 自定义等。
Source组件把数据收集来以后,临时存放在channel中
3.2 Channel组件是在agent中专用于临时存储数据的,可以存放在memory, jdbc,file,自定义。
channel中的数据只有在sink发送成功后才会被删除。
3.3 sink组件是用于把数据发送到目的的组件,目的地包括: hdfs, logger, avro, thrift, ipc, file, null, hbase, solr,自定义。*

**4。 在整个数据传输过程中,流动的是event。事物保证是在event级别。
5。flume 可以支持多级flume的agent, 支持善如(fan- in), 扇出(fan-out)**.

扇入:是指直接调用该模块的上级模块的个数。扇入大表示模块的复用成都高。
扇出: 是指该模块直接调用的下级模块的个数。扇出大表示模块的复杂程度高,需要控制和
协调过多的下级模块; 但是扇出过小(例如总是1)也不好。扇出过大一般是因为缺乏中间层次,
应该适当增加中间层次的模块。扇出太小可以把下级模块进一步分解成若干个子功能模块,或者
合并到它的上级模块中。
设计良好的软件结构: 通过顶层的扇出比较大,中间的扇入小,底层模块则有大扇入。

6。书写配置文件的example:

agent1 表示代理名称

agent1.sources = source1
agent1.sinks = sink1
agent1.channels = channel1

Spooling Directory 是监控指定文件夹中新文件的变化,一旦以文件出现,就解析文件内容,然后写入到channel,写入完成后,标记该文件已完成或者删除该文件。

配置source1

agent1.sources.source1.type=spooldir
agent1.sources.source1.spoolDir = /home/light/flumeTest
agent1.sources.source1.channel=channel1
agent1.source.source1.fileHeader=false
agent1.sources.source1.interceptors=il
agent1.sources.source1.interceptors.il.type=timestamp

配置sink1

agent1.sinks.sink1.type=hdfs
agent1.sinks.sink1.hdfs.path=hdfs://hadoop0:9000/flumeTest
agent1.sinks.sink1.hdfs.fileType=DataStream
agent1.sinks.sink1.hdfs.writeFormat=TEXT
agent1.sinks.sink1.hdfs.rollInterval=10
agent1.sinks.sink1.channel=channel1
agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d

配置channel1

agent1.channels.channel1.type=file
agent1.channels.channel1.checkpointFir=/home/zkpk/flume_tmp/123
agent1.channels.channel1.dataDirs=/home/zkpk/flume_tmp/

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
存储 运维 监控
【Flume】flume 日志管理中的应用
【4月更文挑战第4天】【Flume】flume 日志管理中的应用
|
6月前
|
消息中间件 监控 网络协议
Flume系统
Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输系统,起源于Cloudera。【2月更文挑战第8天】
72 4
|
5月前
|
消息中间件 存储 关系型数据库
Flume(二)【Flume 进阶使用】(4)
Flume(二)【Flume 进阶使用】
|
5月前
|
监控 负载均衡
Flume(二)【Flume 进阶使用】(2)
Flume(二)【Flume 进阶使用】
|
5月前
|
SQL 存储 负载均衡
Flume(二)【Flume 进阶使用】(1)
Flume(二)【Flume 进阶使用】
|
6月前
|
SQL 分布式计算 监控
|
数据采集 负载均衡
什么是flume?
什么是flume?
55 0
|
6月前
|
JSON 监控 负载均衡
Flume相关技术汇总
Flume相关技术汇总
|
6月前
|
存储 分布式计算 监控
Flume(一)【Flume 概述】
Flume(一)【Flume 概述】