Flume详解(包括flume框架,flume安装测试等内容)

Flume是一款用于大数据日志收集、聚合和传输的系统,具有高可用、可扩展和定制化等特点。Flume NG是其新一代版本,取消了Master和Collector,采用异步设计提高效率。本文详细介绍了Flume NG的架构、安装步骤和单机、集群测试,帮助读者深入理解并实际操作Flume。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSDN话题挑战赛第2期
参赛话题:大数据学习成长记录


目录

一、引入

Flume是什么

Flume能干什么

Flume的特点

Flume的版本

Flume OG到Flume NG

Flume 的特性

二、Flume NG 详解

Flume 架构组成

三、Flume安装

准备工作

正式安装

配置文件

验证安装

四、Flume使用测试

单机测试

监控端口数据到控制台(netcat-memeory-logger)

测试

集群测试

参考资料


一、引入

Flume是什么

Flume(日志收集系统)是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Flume能干什么

  • 提供从固定目录下采集日志信息到目的地(HDFS,HBase,Kafka)能力。

  • 提供实时采集日志信息(taidir)到目的地的能力。

  • FLume支持级联(多个Flume对接起来),合并数据的能力。

  • Flume支持按照用户定制采集数据的能力。

总结起来就是实现了日志统一收集再放置于自定义目录的功能。

Flume的特点

  • 良好的扩展性: Flume 架构是完全分布式的,没有任何中心化组件,这使得它非常容易扩展。
  • 高度定制化:各个组件(比如 Source 、 Channel 和 Sink 等)是可插拔的,用户很容易根据需求进行定制。
  • 声明式动态化配置: Flume 提供了一套声明式配置语言,用户可根据需要动态配置一个基于 Flume 的数据流拓扑结构。
  • 语意路由:可根据用户的设置,将流式数据路由到不同的组件或存储系统中,这使得搭建一个支持异构的数据流变得非常容易。

Flume的版本

Flume OG到Flume NG

FLUM OG(初代):

  • FLUM OG 有三种角色的节点:代理节点(agent)、收集节点(collector)、主节点(master)。

  • agent 从各个数据源收集日志数据,将收集到的数据集中到 Collector,然后由收集节点汇总存入 HDFS。master 负责管理 agent,collector 的活动。

  • agent、collector 都称为 node,node 的角色根据配置的不同分为 logical node(逻辑节点)、physical node(物理节点)。

  • agent、collector 由 source、sink 组成,代表在当前节点数据是从 source 传送到 sink。

Flume NG 取消了集中管理配置的 Master 和 Zookeeper,变为一个纯粹的传输工具。Flume NG 另一个主要的不同点是读入数据和写出数据现在由不同的工作线程处理(称为Runner)。在 Flume OG 中,读入线程同样做写出工作(除了故障重试),如果写出慢的话(不是完全失败),它将阻塞 Flume 接收数据的能力。这种异步的设计使读入线程可以顺畅的工作而无需关注下游的任何问题。

FLUME NG(二代)

  • NG 只有一种角色的节点:代理节点(agent)。

  • 没有 collector、master 节点,这是核心组件最核心的变化。

  • 去除了 physical nodes、logical nodes 的概念和相关内容。

  • agent 节点的组成也发生了变化。Flume NG 的 agent 由 source、sink、Channel 组成。

flume ng 节点组成图:

 多 Agent 并联下的架构图:

Flume 的特性

flume 的数据流由事件(Event)贯穿始终。事件是 Flume 的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些 Event 由 Agent 外部的 Source 生成,当 Source 捕获事件后会进行特定的格式化,然后 Source 会把事件推入(单个或多个) Channel 中。可以把 Channel 看作是一个缓冲区,它将保存事件直到 Sink 处理完该事件。

Sink 负责持久化日志或者把事件推向另一个 Source。

flume 具备高可靠性:

当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:

  • end-to-end:收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。

  • Store

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值