flume常用source问题总结
来源:互联网 发布:mysql数据类型 编辑:程序博客网 时间:2024/06/05 05:57
一、SpoolDirectorySource
作用:
监测配置的目录下新增的文件,并将文件中的数据读取出来。
问题:
1.spool目录下的文件不可以再打开编辑;spool目录下不可包含相应的子目录
2.SpoolSource无法实现实时的收集数据
解决:log4j TimeRolling的插件,分割机制设为1分钟一次,需改log4j配置文件
3.无法使用TimeRolling插件,手工copy到监控目录,文件过大,出现边读边写错误
解决:copy文件增加tmp后缀,source配置忽略tmp后缀文件,copy成功后,去掉tmp后缀
4.该源需要一个清理进程来定期移除完成的文件。
5.通道可选地将一个完成路径的原始文件插入到每个事件的hearder域中。在读取文件时,source缓存文件数据到内存中。同时,需要确定设置了bufferMaxLineLength选项,以确保该数据远大于输入数据中数据最长的某一行。
6.channel只接收spooling directory中唯一命名的文件。如果文件名重复或文件在读取过程中被修改,则会有读取失败返回异常信息。这种场景下,同名的文件复制到这个目录时建议带唯一标示,比如时间戳。
二、Exec Source
1.当发生日志轮转的时候,因为tail -f命令打开的还是原来的文件描述符,所以就无法获取到当天新日志文件的内容
解决:tail命令的–retry选项会定期检查文件名对应的文件描述符的变化;使用-F 相当于 -f=filename –retry
解释:使用–follow (-f)时,tail默认后接文件描述符, 这意味着即使tail显示的文件改名了,tail仍然可以追踪到其末尾部分. 如果你确实希望查询文件的实际名而非文件描述符 (例如,日志轮转时), 这种默认的操作就不是你所期望的了.
2.flume-ng进程停止后,tail进程没停止
解决:使用tail –pid $PID ,–pid 表示如果PID进程结束则tail也会跟着结束,所以PID可以设置为flume进程
3.没有办法做到生产速率控制
解决:用Java程序实现了“模拟tail -F”的功能,主要是使用ExceSource,定时修改Flume的配置文件
4.Flume不运行或者指令执行出错时,无法断点续传以及恢复(单点故障)
解决:二次开发tailSource或者配置复杂均衡或者使用flume1.7新增加的tailDirSource
5.Flume提供快速恢复的机制,但是默认竟然是关闭的!
解决:设置三个参数:restartThrottle,restart,logStdErr解决
- flume常用source问题总结
- flume常用source问题总结
- 使用flume问题总结1——搭建flume+测试Syslog source
- Flume使用-问题总结
- Flume Source
- Flume Source
- 4.Flume三大组件Source、channel、Sink常用
- Flume整合mysql碰到的自定义source表名问题
- source insight常用快捷方式总结
- 【Apache Flume系列】Flume-ng案例分享及source编码格式问题
- flume自定义sink source
- flume之Http Source
- 2. Flume Source 详解
- flume自定义source
- flume自定义source
- flume框架 source简介
- 自定义flume-source
- flume之kafka source
- Shell脚本
- 测评 | 谷歌智能耳机Pixel Buds体验:耳朵里的语音助手
- iOS开发
- caffe SSD编译问题总结
- windows下使用VS编译libIconv库
- flume常用source问题总结
- 动态创建表格;验证数据,全选和反选,批量删除
- javascript中top、clientTop、scrollTop、offsetTop的讲解
- Linux平台卸载MySQL
- 深入理解滚动scroll
- java基本加密算法
- nfs服务器和客户端配置
- 三角形判定
- struts2 action从一个命名空间跳到另一个命名空间