5.4 flume
双斜杠少年
希望经记录下来自己学习过程,并和大家一块分享
展开
-
flume启动No appenders could be found for logger (org.apache.flume.lifecycle.LifecycleSupervisor)
flume 安装成功后启动可能会遇到如下异常。问题:log4j:WARN No appenders could be found for logger (org.apache.flume.lifecycle.LifecycleSupervisor).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http原创 2017-01-04 22:18:16 · 9647 阅读 · 4 评论 -
flume1.7.0-taildirSource 支持多文件监控和断点续传
flume 1.7.0 推出了 taildirSource 组件。tail 监控 目录下匹配上正则表达式的 的所有文件,实现断点续传。问题但是官方的 taildirSource 组件貌似是支持nginx 日志,对于log4j 日志好像不太管用。 因为log4j 日志会自动切分,log4j 切分日志其实就是新建一个文件,然后把原来的日志文件都改名。但是 taildirSource 组件时不支持文件改原创 2017-03-15 23:38:56 · 11034 阅读 · 8 评论 -
flume 自定义开发HttpSink
由于业务需求flume 读取数据,然后直接发送到应用系统。所以只好自己开发了一个 Http Sink 进行发送数据,将接收的数据发送到应用系统的restful API。 好了废话不多说,上代码。发送Http请求我使用 okHttp ,代码如下:这里写代码片原创 2017-03-17 00:02:02 · 4881 阅读 · 7 评论 -
flume 的安装和入门小例子
本文结构 我的环境 CentOS 7flume 安装与启动flume 的avro小例子Spool 的小例子Syslogtcp 小例子1. flume 安装与启动1.1 下载安装包访问官网传送门,不信你不点下载apache-flume-1.7.0-bin.tar.gz 安装包。 并在合适路径解压安装包。//解压命令tar -zxvf apache-flume-1.7.0-bin.tar原创 2017-01-04 22:58:34 · 5326 阅读 · 0 评论 -
windows 部署 flume 1.7.0
由于开发的taildirsource 不仅要支持 多文件监控 断点续传,还要支持windows 平台。所以今天我就苦逼的在 windows 上部署flume 了1.下载安装包windows部署 flume 肯定需要 flume 包吧,所以第一步就是下载安装包。安装包为:apache-flume-1.7.0-bin.tar.gz 然后解压安装包。2.添加 conf 文件编写自己的 eppColle原创 2017-03-16 22:27:45 · 3531 阅读 · 2 评论 -
flume 1.7.0-taildirSource 支持 windows系统
Flume-ng 1.7.0 中增加了TaildirSource,可以监控目录中文件的变化自动读取文件内容。 不过实际应用时发现几个问题:1,不支持windows系统。 2,windows下会影响 log4j 日志文件的切分,会使log4j日志不切分一直增大,flume停了才会 切分日志。不支持 windows 系统的问题是因为 taildirSource 的源码ReliableTaildirE原创 2017-03-15 22:04:15 · 3042 阅读 · 6 评论 -
flume自定义组件的 jar 包管理
自定义flume 组建后,将项目打成jar 包,关于这个jar 包的管理和使用我在这里列举了三中方式。这三种方式都可以,随自己喜好使用。1. lib 目录将maven项目打成jar包,将jar 包放到flume的lib 目录下。此方法简单粗暴,缺点就是jar 包不易管理2. 官方给定目录官方建议在flume的 目录下创建 一个自己定义的目录,在自定义的目录下新建 lib 和 libext 文件原创 2017-01-11 23:00:31 · 6623 阅读 · 0 评论 -
本机idea远程调试flume
最近又要自定义开发flume source 插件,每次插件打包后运行,不能再编译器里debug 感觉好苦恼。于是今天就看了一下flume 的远程调试。一看感觉挺简单的。所以就分享一下。远程调试flume其实就四步,第一步开启flume的远程调试,第二步拉取flume 源码导入到idea中。第三步在 idea 中配置远程机器的IP 和调试端口号。第四步:将自定义开发插件源码粘贴到源码中,启动flume原创 2017-03-06 22:41:42 · 6071 阅读 · 6 评论 -
flume 自定义正则过滤器
本文实现:flume 读取日志信息时,通过正则匹配过滤,将匹配到的结果存放在指定文件目录。本文结构: 1. 编写自定义过滤器 2. 编写flume配置文件 3. 运行测试日志信息过滤前:2017-01-06T11:32:48: Debug: D-UNK-000-000: Rules file processing took 332 usec.2017-01-06T11:32:48: Debu原创 2017-01-08 01:14:07 · 7139 阅读 · 0 评论 -
flume 数据存入mysql(二)对敏感信息加密
前面写了flume 将数据存入mysql,但是有个问题,就是配置文件中暴露了我的mysql 的地址和帐号密码。这个是很危险的事情。所以这里就对mysql 的配置信息进行简单加密处理。加密我才用 base64 进行了加密处理,因为我怕麻烦所以就随便搞搞就好了。正常内容加密的话,用aes+base64,解密用md5验证内容完整性,就可以。需要的小伙伴可以试一下。阅读本文请参照flume 读取数据存入my原创 2017-01-12 19:12:20 · 1750 阅读 · 0 评论 -
flume 读取数据存入mysql(一)
本文需求是用flume 监控文件,然后将文件的内容存放在数据库中。本文结构1.mysql 表设计2. MysqlSink编写3.conf 配置4. 打包测试1.mysql 表设计首先声明本文的event ,本文的event内容 是”exec taili,yang”,exectaili , yang” , exec taili 为数据 content ,“yang“ 为createBY 中间用“原创 2017-01-05 22:42:11 · 14110 阅读 · 16 评论 -
flume 的source 、channel和sink 多种组合
乐高积木flumeflume 有三大组件source 、channel和sink,各个组件之间都可以相互组合使用,各组件间耦合度低。使用灵活,方便。1.多sinkchannel 的内容只输出一次,同一个event 如果sink1 输出,sink2 不输出;如果sink1 输出,sink1 不输出。 最终 sink1+sink2=channel 中的数据。配置文件如下:a1.sources =原创 2017-01-11 22:51:15 · 5739 阅读 · 0 评论 -
flume 的kafka sink及 taill 命令
a1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the sourcea1.sources.r1.type = execa1.sources.r1.shell = /bin/bash -ca1.sources.r1.channels = c1a1.sources.r1.command = tail -F /o原创 2017-01-11 09:53:16 · 2483 阅读 · 0 评论 -
flume 的官方正则过滤器
本文内容:前两天在弄flume的正则过滤器,因为日志截取原因,自定义写了一个。今天就说一下官方的正则过滤器。官方的正则过滤器用来过滤被正则匹配的日志。1.excludeEvents属性当 excludeEvents 属性值为 true 则把正则匹配到的日志 过滤掉,不读取到channel,通过sink 进行输出。当 excludeEvents 属性值为 false 则把正则没有匹配到的日志原创 2017-01-11 18:21:39 · 7835 阅读 · 6 评论 -
flume 入门初识
1. 介绍Flume 是 Cloudera 提供的日志收集系统,具有分布式、高可靠、 高可用性等特点,对海量日志采集、聚合和传输,Flume 支持在日志 系统中定制各类数据发送方,同时,Flume 提供对数据进行简单处理, 并写到各种数据接受方的能力。Flume 使用 java 编写,其需要运行在 Java1.6 或更高版本之上。2.架构2.1 数据流Flume 的核心是把数据从数据源收集过来,再送原创 2016-10-30 00:09:40 · 1181 阅读 · 0 评论 -
flume 启动不输出运行日志
问题以前碰到的一个问题,算是一个小问题,flume 用命令./flume-ng agent -c /opt/apps/flume/conf -f /opt/apps/flume/conf/syslog_tcp.conf -n a1 -Dflume.root.logger=INFO,console启动的时候,flume使用的log4j不起效,不会输出日志到日志文件。解决在启动时去掉-Dflume.ro原创 2017-10-24 09:33:38 · 10931 阅读 · 0 评论