0
点赞
收藏
分享

微信扫一扫

Flume的安装与使用

逸省 2024-11-18 阅读 17

一、简介

1.1、概念

Apache Flume 是一个分布式、可靠且可用的系统,专为收集、聚合和移动大量日志数据而设计。它的架构基于流式数据流模型,允许开发者通过简单的配置实现从多个来源收集数据,通过简单的配置文件,用户即可完成复杂的数据流定义,大大降低了使用门槛。Flume 最常见的应用场景是从 Web 服务器或其他服务的日志文件中实时收集数据,并将这些数据传输到一个或多个目标位置,如HDFS(Hadoop分布式文件系统)、关系数据库、消息队列等。

1.2、特点

高可用性:Flume 设计有故障恢复机制,能够自动重试失败的操作,确保数据的可靠传输。
可扩展性:用户可以根据数据流量的变化动态调整Agent的数量,轻松应对数据增长的需求。
灵活性:支持多种数据源和目的地,可以通过配置文件轻松定制数据流,满足不同业务场景的需求。
易用性:提供了丰富的插件和配置选项,无需编程即可实现复杂的数据收集和传输任务。

二、安装

2.1、上传解压重命名

上传到  /opt/moudles  下

解压到  /opt/installs  下

重命名

2.2、修改配置文件

来到  /opt/instals/flume/conf  下

将JAVA_HOME路径修改为自己的jdk路径

修改环境变量

刷新一下:  source /etc/profile

三、使用(以案例形式)

参考网址:Flume 1.9用户手册中文版 — 可能是目前翻译最完整的版本了

flume 的使用是编写 conf文件的,运行的时候指定该文件

3.1、Avro+Memory+Logger

可以在flume的conf下创建一个 myconf  文件夹来存放写的文件

找到channel中的memory类型,再设置一下

接着查找sink,sink的类型是logger

最终合并起来的文件就是:

 在myconf文件夹下创建conf文件  avro-memory-log.conf   将上面的代码粘贴进去,随后运行它

3.2、Exec + Memory + HDFS

到企业中怎么知道用什么呢?

取决于公司的业务,理论将 sources channel sink 可以任意组合

以下版本演示的是没有时间语义的案例:

不断向 arr1.txt  文件中输入数据即可观察到被抽取的现象

3.3、Spool +File + HDFS

Spooling Directory

spool 这个效果是抽取一个文件夹的效果,文件夹中不断的产生新的文件,我将这些新的文件上传至hdfs。

以上的采集只能采集到文件夹中是否有新的文件产生,不能采集变化的文件。

抽取一个文件夹中的所有文件,子文件夹中的文件是不抽取的,抽取过的文件,数据发生了变化,也不会再抽取一次。

3.4、tailDir + Memory + HDFS [ 非常常用 ]

tailDir 是用来监控多个文件夹下的多个文件的,只要文件内容发生变化,就会再次的进行数据的抽取

运行:

举报

相关推荐

0 条评论