数据采集入门——Flume应用

本文介绍了Flume的基本概念,如Source、Channel和Sink,详细讲解了Flume的安装配置过程,包括环境变量配置和启动验证。接着通过多个案例,如监听端口、日志采集、Avro数据传输等,展示了Flume在日志管理和分布式采集中的应用。
摘要由CSDN通过智能技术生成

Flume应用

Flume是一个分布式、可靠、高可用的海量日志采集、聚合和传输的系统。
Flume系统中核心的角色是agent,agent本身是一个Java进程,一般运行在日志收集节点。一个agent内部有三个组件:
· Source:采集源,用于跟数据源对接,以获取数据
· Channel:agent内部的数据传输通道,用于从source将数据传递到sink;
· Sink:下沉地,采集数据的传送目的,用于往下一级agent传递数据或者往最终存储系统传递数据
在整个数据的传输的过程中,流动的是event,它是Flume内部数据传输的最基本单元。

【工作原理】
在这里插入图片描述
常见的Source、Channel、Sink类型有:
在这里插入图片描述
【安装 · 配置Flume环境】
(1)https://flume.apache.org/download.html
下载flume版本
在这里插入图片描述
(2)解压缩,进入其bin目录,复制路径在这里插入图片描述
(3)win+R 打开命令行运行界面(进入指定目录)
在这里插入图片描述
(4)由于apache-flume运行在java环境下,需配置JDK 环境
A、命令行界面查看java安装路径 where java
在这里插入图片描述
B、配置环境变量
方法一、配置JAVA_HOME (只需到JAVA环境下,无需进入bin执行目录)
在这里插入图片描述
然后在将JAVA_HOME配置到环境变量PATH中(PATH需要配置到bin目录级别)
(bin 为可执行文件的目录)
在这里插入图片描述
方法二、
直接在PATH中配置java路径
直接把JAVA_HOME展开,放在PATH中,到bin目录级别

(5)运行查看flume是否安装成功(如下所示,即为成功)
在这里插入图片描述
【案例实现与分析】
启动Flume监听端口
【参考命令行】:进入D:\apache-flume-1.9.0-bin目录下(bin目录的前一级)
.\bin\flume-ng agent --conf .\conf --conf-file .\conf\example.conf --name a1 -property flume.root.logger=INFO,console
【参数说明】
(1)–conf .\conf:表示配置文件存储在conf/目录
(2)–name a1 :表示给agent起名为a1
(3)–conf-file .\conf\example.conf:flume本次启动读取的配置文件是在conf文件夹下的example.conf文件。
(4)flume.root.logger=INFO,console :flume.root.logger参数属性值,并将控制台日志打印级别设置为INFO级别。日志级别包括:log、info、warn、error。
【安装telnet】:实现对单端口的监控
(telnet 是 windows自带组件)
常在使用netcat监控端口时使用
① 控制面板——程序与功能——启用或关闭window功能——开启telnet客户端
在这里插入图片描述在这里插入图片描述
②查看是否安装成功:
在这里插入图片描述

案例一、netcat 数据采集(监控端口的信息)

A、监听netcat端口数据,并显示在控制台
【参考配置文件】

#设置Agent上的各个组件名称 
#r1表示a1的输入源
a1.sources = r1  
#k1表示a1的输出目的地
a1.sinks = k1  
#c1表示a1的缓冲区
a1.channels = c1  

#配置Source (数据输入源配置)
#设置a1的输入源类型为netcat端口类型 
a1.sources.r1.type = netcat 
#表示a1的监听的主机 
a1.sources.r1.bind = localhost  
#表示a1的监听的主机端口号
a1.sources.r1.port = 44444 
 
#配置Sink  (数据输出端配置) 
#表示a1的输出目的地是控制台logger类型(显示在控制台)
a1.sinks.k1.type = logger 

#配置Channel  (数据传输通道配置)
#表示a1的channel类型是memory内存型
a1.channels.c1.type = memory 
#表示a1的channel总容量是1000个event
a1.channels.c1.capacity = 1000 
#表示a1的channel传输时收集到了100条event以后再去提交事务
a1.channels.c1.transactionCapacity = 100  

#把Source和Sink绑定到Channel 
a1.sources
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值