大数据----【Flume、常用组件、load-balance、failover、日志采集汇总、Flume中小文件频繁滚动注意事项】

本文详细介绍Flume作为高可用、高可靠日志采集系统的运行机制、安装部署及实战案例,涵盖多级Agent串联、负载均衡、容错处理、日志拦截器应用,以及如何高效配置采集策略。

Flume

1 概述

Flume 是 Cloudera 提供的一个高可用的,高可靠的分布式的海量日志采集、聚合和传输软件

Flume核心 :

  • 数据源(source)
  • 目的地(sink)
  • 数据传输通道(channel)

Flume版本 :

  • FlumeOG(0.9X版本的统称) , 老版本
  • FlumeNG(1.X版本的统称) , 该版本常用

2 . 运行机制

Flume 系统中核心的角色是 agent,agent 本身是一个 Java 进程,一般运行在日志收集节点。

在这里插入图片描述

每一个 agent 相当于一个数据传递员,内部有三个组件:
Source:采集源,用于跟数据源对接,以获取数据;
Sink:下沉地,采集数据的传送目的,用于往下一级 agent 传递数据或者往最终存储系统传递数据;
Channel:agent 内部的数据传输通道,用于从 source 将数据传递到 sink;在整个数据的传输的过程中,流动的是 event,它是 Flume 内部数据传输的最基本单元

一个完整的 event 包括:event headers、event body、event 信息,其中event 信息就是 flume 收集到的日记记录。

3. Flume采集结构图

3.1 简单结构(单个agent)

在这里插入图片描述

3.2 复杂结构(多级agent串联)

在这里插入图片描述

4. Flume的安装部署

  • 将安装包放到/export/servers下 , 解压到当前文件夹
  • 配置环境变量JAVA_HOME , 将配置文件中注释掉的JAVA_HOME放开并修改即可export JAVA_HOME=/export/servers/jdk1.8.0_65
    测试 :
  • 1 、 先在 flume 的 的 conf 目录下新建一个文件vi netcat-logger.conf
#从网络端口接收数据,下沉到logger
#采集配置文件,netcat-logger.conf

# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444

# Describe the sink
a1.sinks.k1.type = logger

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动命令:
bin/flume-ng agent --conf conf --conf-file conf/netcat-logger.conf --name a1 -Dflume.root.logger=INFO,console

传入数据:
telnet localhost 44444
如果没有telnet , 下载即可: yum -y install telnet
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Hello world! <ENTER>
OK
看到返回OK说明配置成功
  • 2 、 启动 agent 去采集数据

    首先切换到flume目录下 , 然后执行下列命令

    bin/flume-ng agent -c conf -f conf/netcat-logger.conf -n a1 -Dflume.root.logger=INFO,console

    • --conf/-c : 指定flume自身的配置文件所在目录
    • --conf-file/-f : 指定我们所描述的采集方案
    • --name/-n : 指定我们这个agent的名字
    • -Dflume.root.l
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值