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

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

时间:2024-07-09 09:57:23浏览次数:25  
标签:Flume flume Hadoop Source Sink 日志 Channel

章节内容

上一节我们完成了:

  • 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/

使用 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

配置的结果如下图:
在这里插入图片描述
至此!Flume的安装和配置已经完成!

标签:Flume,flume,Hadoop,Source,Sink,日志,Channel
From: https://blog.csdn.net/w776341482/article/details/140259745

相关文章

  • @AutoWired和@Resource的区别
    @AutoWired和@Resource的区别来源不同:@AutoWired是Spring提供的注解.@Resource是JavaEE提供的,来源于java.annotation包,是JSR-250的一部分,所以,@Resource不是Spring特有的,它可以使用在所有遵循JavaEE标准的项目中。注入方式不同:@AutoWired默认是按照byType进行依赖注......
  • Java工程中读取resources目录下properties文件的方式,从上图可知,当工程部署在服务器下
    Java工程中读取resources目录下properties文件的方式,从上图可知,当工程部署在服务器下时,配置文件以及代码都是在对应的classes文件夹下二、具体读取方法1、当需要读取当前路径下的properties文件时,即在本地没有部署到具体服务器上的情况:Filefile=newFile(“src/main/re......
  • WPF ComboBox数据绑定:初始化动态加载ItemsSource后首次赋值Text不显示问题解决
    原来:<ComboBoxText="{BindingItem}"ItemsSource="{BindingItemLists}"></ComboBox>privatevoidParas_Init(){ItemLists=newObservableCollection<string>();ItemLists.Add("111......
  • Win11系统提示找不到JSC.Resources.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个JSC.Resources.dll文件(挑选合适的版本文件)......
  • source
    进入题目右键源码发现一个假的flagbase64解码啥也不是目录扫描发现.git源码泄露,假的flag.txt下载.git进入目录查看历史版本一一查看各个版本改动找到flag......
  • Apache/InLong InLong Manager 支持配置 Flink 任务并发度/Adjust sort resources acc
    audit已经实现了对于InLong系统的Agent、DataProxy、Sort模块的入流量、出流量进行实时审计对账。对账的粒度有分钟、小时、天三种粒度。audit的数据缓存在org.apache.inlong.audit.cache的各个类中,有DayCacheHalfHourCache等等请求audit数据的api在org.apache.inlong.audit.......
  • MSAMRNBSource.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个MSAMRNBSource.dll文件(挑选合适的版本文件)......
  • Golang channel底层是如何实现的?(深度好文)
    Hi你好,我是k哥。大厂搬砖6年的后端程序员。我们知道,Go语言为了方便使用者,提供了简单、安全的协程数据同步和通信机制,channel。那我们知道channel底层是如何实现的吗?今天k哥就来聊聊channel的底层实现原理。同时,为了验证我们是否掌握了channel的实现原理,本文也收集了channel的高......
  • set_source_files_properties QT_QML_SINGLETON_TYPE
    目录前言QT_QML_SINGLETON_TYPE 属性基本用法示例1.创建一个基本的CMake项目2.编辑 CMakeLists.txt3.创建 main.cpp4.创建 MySingleton.qml5.创建 qml.qrc6.创建 main.qml构建和运行项目结论前言在使用Qt和CMake构建项目时,有时你可能需要将......
  • MultipartFile resource [file] cannot be resolved to URL
    java.io.FileNotFoundException:MultipartFileresource[file]cannotberesolvedtoURLatorg.springframework.core.io.AbstractResource.getURL(AbstractResource.java:114)atorg.springframework.core.io.AbstractResource.getURI(AbstractResource.java:1......