flume案例

本文详细介绍了Flume在日志采集中的应用,包括监控文件变化、多级Agent串联、高可用机制(failover和load balancer)。同时讨论了Flume控制HDFS文件大小的策略以及自定义拦截器实现数据脱敏。此外,还提到了Azkaban作为定时任务工具的介绍和使用。
摘要由CSDN通过智能技术生成

第一个案例:flume采集网络端口的数据
第二个案例:监控某一个目录下面的所有的文件,只要目录下面有文件,收集文件内容,上传到hdfs上面去
14

sink:hdfsSink
source: spooldir
spooldir特性:
1、监视一个目录,只要目录中出现新文件,就会采集文件中的内容
2、采集完成的文件,会被agent自动添加一个后缀:COMPLETED
3、所监视的目录中不允许重复出现相同文件名的文件(flume比较脆弱,一旦抛异常,就会停止工作,只能手动重启)

channel:memory channel

hdfs sink文件大小的控制策略
将我们的数据放到hdfs上面去,要避免产生大量的小文件
可以控制我们的flume的采集数据的频率
文件采集策略:
多长时间采集一次
文件多大采集一次

定义文件多长时间采集一次
a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 10
a1.sinks.k1.hdfs.roundUnit = minute

定义文件多大的时候采集一次
a1.sinks.k1.hdfs.rollInterval = 3
a1.sinks.k1.hdfs.rollSize = 20
a1.sinks.k1.hdfs.rollCount = 5
a1.sinks.k1.hdfs.batchSize = 1
a1.sinks.k1.hdfs.useLocalTimeStamp = true

启动flume
bin/flume-ng agent -c conf -f conf/spooldir.conf -n a1 -Dflume.root.logger=INFO,console
-c conf 指定flume自身的配置文件所在目录
-f conf/spooldir.conf 指定我们所描述的采集方案
-n a1 指定我们这个agent的名字

flume监控某个文件的变化

写一个脚本,定时的执行检测,检测数据有没有减少,检测目的数据有没有增多,如果没有,就杀掉flume,重新启动
或者采取flume的failover机制
15

flume多级agent串联

16

flume的failover的高可用机制

17

flume的负载均衡load balancer

在此处我们通过三台机器来进行模拟flume的负载均衡
三台机器规划如下:
node01:采集数据,发送到node02和node03机器上去
node02:接收node01的部分数据
node03:接收node01的部分数据
18

flume的静态拦截器的使用-标识数据的类型

1.案例场景
A、B两台日志服务机器实时生产日志主要类型为access.log、nginx.log、web.log
现在要求:
把A、B 机器中的access.log、nginx.log、web.log 采集汇总到C机器上然后统一收集到hdfs中。
但是在hdfs中要求的目录为:
/source/logs/access/20180101/**
/source/logs/nginx/20180101/**
/source/logs/web/20180101/**

20

21

19

flume自定义拦截器

数据的脱敏 :将一些敏感信息,全部进行加密
例如:手机号 银行卡号 银行卡余额,原始数据八个字段,经过处理之后,只要五个字段,并且第一个字段进行加密

注意:采集数据的时候就要进行处理,不能在采集数据之后进行处理
使用flume的自定义拦截器,来实现将数据进行脱敏
实现数据采集之前就已经处理好了,数据采集到hdfs上面来之后,全部都已经进行脱敏了

22

azkaban的介绍以及azkaban的架构模型

定时任务的工具
为了保证我们的任务正常的在每天凌晨执行,我们需要借助一些任务调度工具
azkaban oozie ariflow zeus 功能都是一样的,都是做定时任务的
学习azkaban oozie
24

缓存数据库工具有:redis memory cache

azkaban官网:https://azkaban.github.io/
25

azkaban与oozie对比:文档有写

azkaban的架构:
23

azkaban可以调度各种各样的任务
可以调度shell脚本
可以调度java的jar包
可以调度hdfs的任务
可以调度mr的任务

azkaban单服务模式安装与使用

azkaban两个服务模式安装

课程总结:
hive数据存储格式以及压缩方式
存储格式:orc textFile
压缩方式 snappy

hive调优:
fetch
map 端join
分区裁剪 列裁剪
控制map个数以及reduce个数
jvm重用
数据压缩

flume:日志数据采集的框架,专门用于收集数据
三个组件构成
source:对接我们的源数据
channel:管道,连接 source 与sink
sinks:对接数据的目的地

三个组件组织到一起,运行起来叫做一个agent
搞定
1、监控文件的变化
source:exec
2、监控文件夹的变化
source:spooldir

知道
3、flume的多个agent串联
source:avro
flume如何控制文件的大小
时间长短 文件内容大小

如何保证flume的 7* 24小时的不宕机
第一种方式:可以写脚本检测flume是否在运行(检测数据有没有减少,检测目的数据有没有增多)
第二种方式:loadbalance failover

调研:flume如何收集mysql的数据

azkaban的安装及使用
安装 solo server 跑起来
mulitipart server 跑起来

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值