flume日志收集总结

一、flume架构

将多种数据源日志以实时的方式 传入到hadoop或者其他地方
分布式:主要是指可以处理分布式平台上的数据 进行汇总

架构:

CLIENT:客户端 数据产生的地方
event:数据传输中的一个数据包 通常对应日志中的一行
agent:代理 一个独立的jvm进程 主要处理数据采集
Source
Channel
Sink 与channel 是一个channel可以对应多个sink

b.启动Agent

cd conf
flume-ng agent --conf …/conf 配置文件的路径 可以省略掉的
–conf-file simple.conf /执行文件的路径
–name agent 名字
-Dflume.root.logger=INFO,console 在控制台打印日志级别info

简化版
cd conf
flume-ng agent --c …/conf 配置文件的路径 可以省略掉的
–f simple.conf /执行文件的路径
–n agent 名字
-Dflume.root.logger=INFO,console 在控制台打印日志级别info

source

exec source 执行语句
spooling directory source 监控一个目录
taildir source 监控 断点续传
http source 监控一个地址 用于接收HTTP的Get和Post请求
avro source 级联 可以接受多台服务器的日志数据 一起处理
kafka source kafka的数据直接传输到 flume中
netcat source 监控网络端口

Channel

Memory Channel
event保存在Java Heap中。如果允许数据小量丢失,推荐使用
File Channel
event保存在本地文件中,可靠性高,但吞吐量低于Memory Channel
Kafka Channel 把数据写到kafka中 此时可以不需要sink了,直接可以再kafka中处理
JDBC Channel
event保存在关系数据中,一般不推荐使用

Sink

Sink负责从Channel收集数据
常用Sink
avro sink (常用)
HDFS sink (常用)
Hive sink
Kafka sink

简单案例

a1.sources = s1
a1.channels = c1
a1.sinks = sk1

设置source类型为exec

a1.sources.s1.type = exec
a1.sources.s1.command = tail -f /root/data/exec.txt

source和channel连接

a1.sources.s1.channels = c1
a1.channels.c1.type = memory

指定sink的类型

a1.sinks.sk1.type = hdfs
a1.sinks.sk1.hdfs.path = /flume/events/%y-%m-%d/%H%M/%S

sink和channel进行连接

a1.sinks.sk1.channel = c1

a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值