线上flume重启后数据丢失
本帖最后由 pig2 于 2014-11-24 17:25 编辑情况是这样的:
线上flume监控目录里有文件mallshop_access.log 198.98M,由于一些原因需重启flume,重启后,flume采集mallshop_access.log到hdfs上的日志只有2.96kB。
原因:exec方式是采用tail方式去读日志文件的每一行,适合日志文件是实时增加的情况(我的理解),而当flume服务器启动的时候已经有该文件,并不会再实时增加,则会丢失数据。(其实我目前的水平也只能这样理解,请大神们给个合适的原因,大家讨论下。)
解决方案:配置信息不变,重新把mallshop_access.log上传到该flume的监控目录,前提条件是:flume必须是启动着的。
file:///C:/Users/Administrator/AppData/Local/YNote/data/452846106@qq.com/80fa5e6174804962a4c4dc8b9c11f1a8/1y(@%5B%60z(7q5q.png
了解原理还是比较重要的,flume本身动态搜集日志,所以可能是存在这种情况。
有些只能人为避免,程序目前还不到智能的程度
自己顶一个啊 线上环境,每次修改flume配置文件(比如需要加配置),那么这个时候就需要重启flume,一重启,所有的日志就要重新采集,又和之前hdfs上的数据重复了。怎样避免这种情况啊? mjjian0 发表于 2014-11-24 17:56
线上环境,每次修改flume配置文件(比如需要加配置),那么这个时候就需要重启flume,一重启,所有的日志就 ...
目前还没有发现完美的方案,楼主只能提前做好准备。
既然线上环境,应该把配置都确定了,否则就成调试了。
像这种边修改边上传,确实容易造成问题
学习了~~~~~~~~ 改配置不一定要重启flume 他有自动加载配置文件的机制
页:
[1]