Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡

简介: Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡

章节内容

上一节我们完成了:


HiveServer2 的介绍和配置安装

修改 core-size hdfs-site 实现集群的启动

Beeline 简单上手

HCatalog 简单上手

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。

之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。


注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!

请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!


但是有一台公网服务器我还运行着别的服务,比如前几天发的:autodl-keeper 自己写的小工具,防止AutoDL机器过期的。还跑着别的Web服务,所以只能挤出一台 2C2G 的机器。那我的配置如下了:


2C4G 编号 h121

2C4G 编号 h122

2C2G 编号 h123

Flume 简介

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

Flume 支持在日志系统中定制各类数据发送方,用于采集数据。

Flume 提供对数据进行简单处理,并写到各种数据接收方的能力。


简单概括: Flume是实时采集日志的数据采集引擎。它有三个重要的组件概念:


Source

Channel

Sink

他们之间的关系如下图表示:

Flume特点

分布式:Flume分布式集群部署,扩展性好

可靠性好:当节点出现故障时,日志能够被传送到其他节点上而不会丢失

易用性:Flume配置使用繁琐,对使用人员专业度要求高

实时采集:Flume采集流模式对数据进行实时采集

类似工具

DataX 阿里异构数据源同步工具

Kettle 开源ETL

LogStash 应用程序日志、事件的传输、处理、管理和搜索的平台

Scribe FaceBook 开源的日志收集系统

Flume架构

Agent

本质上一个JVM进程,该JVM进程控制Event数据流从外部日志生产者传输到目的地,或是下一个Agent。

一个完整的Agent中包含了三个完整的组件:Source、Channel、Sink。

Source是指数据的来源方式,Channel是一个数据缓冲池,Sink定义了数据输出的方式和目的地。


Source

负责接受数据到 Flume Agent的组件。Source组件可以处理各种类型,各种格式的日志数据。


Channel

为了Source和Sink之间的缓冲,Channel允许Source和Sink运作在不同的速率上。


Channel是线程安全的,可以同时处理多个Source写入操作以及多个SInk的读取操作。


常见的Channel如下:


Memory Channel 是内存中的队列。Memory Channel在允许数据丢失的情况下使用

File Channel 将所有事件都写到磁盘。

Sink

不断地轮询Channel中的事件并且批量的移除它们,将这些事件批量写入存储或者索引系统,或者被发送到另一个Agent。


Event

是Flume定义的是一个数据流传输的最小单位。


Flume拓扑

串行模式

多个 Flume 结合起来,从最初的Source到最终Sink。

此模式不建议过多的Flume,过多不仅会影响传输速率,而且一旦传输过程中某个节点宕机,会影响整个系统。

复制模式

将事件流向一个或者多个目的地,这种模式将数据源复制到多个Channel中,每个Channel都有相同的数据,Sink可以选择传入不同的目的地。

负载均衡

多个 Sink 逻辑上划分到一个Sink组,Flume将数据发送到不同的Sink上。

Flume内部原理

  • Source接受事件,交给其Channel处理
  • 处理器通过拦截器 Interceptor,对事件进行处理,比如压缩解码、正则拦截、时间戳
  • 经过拦截的事件再传给Channel选择器,将事件写入相应的Channel。
  • 最后由Sink处理各个Channel事件。

项目下载

下载Flume

这里我选择:1.9.0

http://archive.apache.org/dist/flume/
• 1

使用 wegt 下载,或者 你现在好传到服务器上。我传到了 h122 机器上。

h122 /opt/software/

上传后进行解压

cd /opt/software
tar zxvf apache-flume-1.9.0-bin.tar.gz -C ../servers/
cd ../servers
ls

环境变量

修改配置文件

vim /etc/profile

写入如下的内容:

# flume
export FLUME_HOME=/opt/servers/apache-flume-1.9.0-bin
export PATH=$PATH:$FLUME_HOME/bin

写入的内容如下图:

配置文件

cd $FLUME_HOME/conf
mv flume-env.sh.template flume-env.sh
vim flume-env.sh

刷新配置文件即可。

JAVA_HOME 配置进去,防止出错。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

配置的结果如下图:

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
380 0
|
5月前
|
数据采集 缓存 大数据
【赵渝强老师】大数据日志采集引擎Flume
Apache Flume 是一个分布式、可靠的数据采集系统,支持从多种数据源收集日志信息,并传输至指定目的地。其核心架构由Source、Channel、Sink三组件构成,通过Event封装数据,保障高效与可靠传输。
334 1
|
6月前
|
运维 监控 安全
EventLog Analyzer:高效的Web服务器日志监控与审计解决方案
ManageEngine EventLog Analyzer是一款企业级Web服务器日志监控与审计工具,支持Apache、IIS、Nginx等主流服务器,实现日志集中管理、实时威胁检测、合规报表生成及可视化分析,助力企业应对安全攻击与合规挑战,提升运维效率。
345 0
|
SQL 存储 缓存
日志服务 SQL 引擎全新升级
SQL 作为 SLS 基础功能,每天承载了用户大量日志数据的分析请求,既有小数据量的快速查询(如告警、即席查询等);也有上万亿数据规模的报表级分析。SLS 作为 Serverless 服务,除了要满足不同用户的各类需求,还要兼顾性能、隔离性、稳定性等要求。过去一年多的时间,SLS SQL 团队做了大量的工作,对 SQL 引擎进行了全新升级,SQL 的执行性能、隔离性等方面都有了大幅的提升。
558 104
|
11月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
315 23
|
存储 运维 数据可视化
如何为微服务实现分布式日志记录
如何为微服务实现分布式日志记录
883 1
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
存储 运维 监控
【Flume】flume 日志管理中的应用
【4月更文挑战第4天】【Flume】flume 日志管理中的应用
|
消息中间件 数据采集 SQL
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
|
存储 数据采集 数据处理
【Flume拓扑揭秘】掌握Flume的四大常用结构,构建强大的日志收集系统!
【8月更文挑战第24天】Apache Flume是一个强大的工具,专为大规模日志数据的收集、聚合及传输设计。其核心架构包括源(Source)、通道(Channel)与接收器(Sink)。Flume支持多样化的拓扑结构以适应不同需求,包括单层、扇入(Fan-in)、扇出(Fan-out)及复杂多层拓扑。单层拓扑简单直观,适用于单一数据流场景;扇入结构集中处理多源头数据;扇出结构则实现数据多目的地分发;复杂多层拓扑提供高度灵活性,适合多层次数据处理。通过灵活配置,Flume能够高效构建各种规模的数据收集系统。
418 0