flume实时收集日志到kafka
来源:互联网 发布:杀人案 知乎 编辑:程序博客网 时间:2024/05/19 06:39
Flume实时收集日志
kafka版本0.8.2
1.版本apache-flume-1.7.0-bin.tar.gz
解压后conf 目录下配置以.conf结尾的文件如(flume_properties.conf)
2.配置文件信息
// sources 数据源每增加一个添加即可
a1.sources = r1 r2 r3 r4 r5
//数据输出方式
a1.sinks = k1
//数据汇聚存储方式
a1.channels = c1
//收集数据类型 exec为监控输出文件
a1.sources.r1.type = exec
//文件的路径
a1.sources.r1.command=tail -F apache-tomcat-0/logs/catalina.2017-03-08.out
//增加每一个数据源都需要配置
a1.sources.r2.type = exec
a1.sources.r2.command=tail -F apache-tomcat-1/logs/catalina.2017-03-08.out
a1.sources.r3.type = exec
a1.sources.r3.command=tail -F apache-tomcat-2/logs/catalina.2017-03-08.out
a1.sources.r4.type = exec
a1.sources.r4.command=tail -F apache-tomcat-3/logs/catalina.2017-03-08.out
a1.sources.r5.type = exec
a1.sources.r5.command=tail -F apache-tomcat-4/logs/catalina.2017-03-08.out
//数据输出类型
a1.sinks.k1.type= org.apache.flume.sink.kafka.KafkaSink
//kafka地址
a1.sinks.k1.brokerList=0.0.0.1:9092
//topic
a1.sinks.k1.topic=logs
//数据类型
a1.sinks.k1.serializer.class=kafka.serializer.StringEncoder
//通道类型(内存)
a1.channels.c1.type = memory
//容量
a1.channels.c1.capacity = 1000
//event事务容量
a1.channels.c1.transactionCapacity = 100
//数据源使用的通道
a1.sources.r1.channels = c1
a1.sources.r2.channels = c1
a1.sources.r3.channels = c1
a1.sources.r4.channels = c1
a1.sources.r5.channels = c1
//sinks输出的通道
a1.sinks.k1.channel = c1
3.启动flume
bin/flume-ng agent --conf conf --conf-file /home/flume/conf/flume_properties.conf --name a1 -Dflume.root.logger=INFO,console &
logger打印启动日志信息
增加 & 在后台启动 退出shell时注意 输入exit 关闭连接
4.每日文件名变更
日志文件会按日期分割,sources的监控的文件也会变化.
Flume 配置文件变更时会实时重新加载文件,用 crontab + shell 每天更新配置文件内容即可:
Shell脚本:(flumeUpdate.sh)
#!/bin/bash
DATEFORMATTYPE=$(date +%Y-%m-%d)
Sed -i 's/catalina.*/catalina.'${DATEFORMATTYPE}'.out/g' /home/flume/conf/flume_properties.conf
crontab任务:
0 5 * * * sh /home/x-sh/flumeUpdate.sh
kafka版本0.8.2
1.版本apache-flume-1.7.0-bin.tar.gz
解压后conf 目录下配置以.conf结尾的文件如(flume_properties.conf)
2.配置文件信息
// sources 数据源每增加一个添加即可
a1.sources = r1 r2 r3 r4 r5
//数据输出方式
a1.sinks = k1
//数据汇聚存储方式
a1.channels = c1
//收集数据类型 exec为监控输出文件
a1.sources.r1.type = exec
//文件的路径
a1.sources.r1.command=tail -F apache-tomcat-0/logs/catalina.2017-03-08.out
//增加每一个数据源都需要配置
a1.sources.r2.type = exec
a1.sources.r2.command=tail -F apache-tomcat-1/logs/catalina.2017-03-08.out
a1.sources.r3.type = exec
a1.sources.r3.command=tail -F apache-tomcat-2/logs/catalina.2017-03-08.out
a1.sources.r4.type = exec
a1.sources.r4.command=tail -F apache-tomcat-3/logs/catalina.2017-03-08.out
a1.sources.r5.type = exec
a1.sources.r5.command=tail -F apache-tomcat-4/logs/catalina.2017-03-08.out
//数据输出类型
a1.sinks.k1.type= org.apache.flume.sink.kafka.KafkaSink
//kafka地址
a1.sinks.k1.brokerList=0.0.0.1:9092
//topic
a1.sinks.k1.topic=logs
//数据类型
a1.sinks.k1.serializer.class=kafka.serializer.StringEncoder
//通道类型(内存)
a1.channels.c1.type = memory
//容量
a1.channels.c1.capacity = 1000
//event事务容量
a1.channels.c1.transactionCapacity = 100
//数据源使用的通道
a1.sources.r1.channels = c1
a1.sources.r2.channels = c1
a1.sources.r3.channels = c1
a1.sources.r4.channels = c1
a1.sources.r5.channels = c1
//sinks输出的通道
a1.sinks.k1.channel = c1
3.启动flume
bin/flume-ng agent --conf conf --conf-file /home/flume/conf/flume_properties.conf --name a1 -Dflume.root.logger=INFO,console &
logger打印启动日志信息
增加 & 在后台启动 退出shell时注意 输入exit 关闭连接
4.每日文件名变更
日志文件会按日期分割,sources的监控的文件也会变化.
Flume 配置文件变更时会实时重新加载文件,用 crontab + shell 每天更新配置文件内容即可:
Shell脚本:(flumeUpdate.sh)
#!/bin/bash
DATEFORMATTYPE=$(date +%Y-%m-%d)
Sed -i 's/catalina.*/catalina.'${DATEFORMATTYPE}'.out/g' /home/flume/conf/flume_properties.conf
crontab任务:
0 5 * * * sh /home/x-sh/flumeUpdate.sh
阅读全文
1 0
- flume实时收集日志到kafka
- 从flume到kafka,日志收集
- flume+kafka收集业务日志
- Flume实时收集日志问题
- flume-kafka- spark streaming(pyspark) - redis 实时日志收集实时计算
- flume上报日志到kafka
- Flume, Kafka和NiFi,大数据实时日志数据收集、数据获取技术哪家强?
- 实时日志流系统(kafka-flume-hdfs)
- flume-kafka整合--实时日志采集
- log4j+flume+kafka实现日志收集
- flume 收集日志到HDFS
- flume收集日志到mysql
- Flume 日志收集、使用Flume收集日志到HDFS
- Flume读取日志数据并写入到Kafka,ConsoleConsumer进行实时消费
- 自定义Flume拦截器,并将收集的日志存储到Kafka中(案例)
- 自定义Flume拦截器,并将收集的日志存储到Kafka中(案例)
- 自定义Flume拦截器,并将收集的日志存储到Kafka中(案例)
- flume采集log4j日志到kafka
- 微信小程序开发 | 把玩系列:各种组件和API实用详解
- CentOS切换yum源
- MongoCollection 与 iterator_to_array
- UML基本概念--类图关系 依赖、关联、泛化、实现
- 1007. 素数对猜想 (20)
- flume实时收集日志到kafka
- BestCoder #3 (HDU 4907 HDU 4908 HDU 4909 HDU 4910)
- GlobalMapper破解汉化版下载安装图文教程
- ViewAnimator详解之滚动显示TextView
- 安装配置Rancher管理docker
- 【Linux】中的shell脚本语法篇之函数和数组
- Android view组件
- 循环神经网络(RNN)练习:比特币市场的分析与预测
- 设备驱动,字符设备驱动、(总线)设备驱动模型、sysfs文件系统、平台设备驱动