Flume概览

一.flume概览

1.概述:

    Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。它具有基于流数据流的简单灵活的架构。它具有可靠的可靠性机制和许多故障 转移和恢复机制,具有强大的容错性。它使用简单的可扩展数据模型,允许在线分析应用程序。

2.大数据架构

  • 数据采集(爬虫\日志数据\flume)
  • 数据存储(hdfs/hive/hbase(nosql))
  • 数据计算(mapreduce/hive/sparkSQL/sparkStreaming/flink)
  • 数据可视化

3.Flume基于流式架构,容错性强,也很灵活简单。

4.Flume、Kafka用来实时进行数据收集,Spark、Flink用来实时处理数据,impala用来实时查询。

二.flume角色

1.source

  • 数据源,用户采集数据,source产生数据流,同时会把产生的数据流传输到channel。

2.channel

  • 传输通道,用于桥接source和sink

3.sink

  • 下沉,用于收集channel传输的数据,将数据源传递到目标源

4.event

  • 在flume中使用事件作为传输的基本单元

Flume角色

5.Flume常用的Type

(1)source
名称 含义 注意点
avro avro协议的数据源 主要用于agent to agent之间的连接
exec unix命令 可以命令监控文件 tail -F
spooldir 监控一个文件夹 不能含有子文件夹,不监控windows文件夹,处理完文件不能再写数据到文件 ,文件名不能冲突
TAILDIR 既可以监控文件也可以监控文件夹 支持断点续传功能, 重点使用这个
netcat 监听某个端口
kafka 监控卡夫卡数据
(2)sink
名称 含义 注意点
kafka 写到kafka中
HDFS 将数据写到HDFS中
logger 输出到控制台
avro avro协议 配合avro source使用
(3)channel:
名称 含义 注意点
memory 存在内存中
kafka 将数据存到kafka中
file 存在本地磁盘文件中

6.flume的启动参数

(1)命令
参数 描述
help 打印帮助信息
agent 运行一个Flume Agent
avro-client 运行一个Avro Flume 客户端
version 显示Flume版本。
(2)全局选项
参数 描述
–conf,-c 目录使用配置文件。指定配置文件放在什么目录
–classpath,-C 追加一个classpath
–dryrun,-d 不真正运行Agent,而只是打印命令一些信息。
–plugins-path 插件目录列表。默认:$FLUME_HOME/plugins.d
-Dproperty=value 设置一个JAVA系统属性值。
-Xproperty=value 设置一个JAVA -X的选项。
(3)Agent选项
参数 描述
–conf-file ,-f <file> 指定配置文件,这个配置文件必须在全局选项的–conf参数定义的目录下。(必填)
–name,-n <name> Agent的名称(必填)
–help,-h 帮助

日志相关:

  • -Dflume.root.logger=INFO,console

该参数将会把flume的日志输出到console,为了将其输出到日志文件(默认在FLUME_HOME/logs),可以将console改为LOGFILE形式,具体的配置可以修改$FLUME_HOME/conf/log4j.properties

  • -Dflume.log.file=./wchatAgent.logs

该参数直接输出日志到目标文件

(4)Avro客户端选项
参数 描述
–rpcProps,-P 连接参数的配置文件。
–host,-H Event所要发送到的Hostname。
–port,-p Avro Source的端口。
–dirname Avro Source流到达的目录。
–filename,-F Avro Source流到达的文件名。
–headerFile,-R 设置一个JAVA -X的选项。

启动Avro客户端要么指定–rpcProps,要么指定–host和–port

三.Flume传输过程:

    source监控某个文件或数据流,数据源产生新的数据,拿到该数据后,将数据封装在一个Event中,并put到channel后commit提交,channel队列先进先出,sink去channel队列中拉取数据,然后写入到HDFS中。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2021 Movle
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信