mjjian0 发表于 2014-11-24 17:24:24

线上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

desehawk 发表于 2014-11-24 19:39:38

了解原理还是比较重要的,flume本身动态搜集日志,所以可能是存在这种情况。
有些只能人为避免,程序目前还不到智能的程度

mjjian0 发表于 2014-11-24 17:55:03

自己顶一个啊

mjjian0 发表于 2014-11-24 17:56:46

线上环境,每次修改flume配置文件(比如需要加配置),那么这个时候就需要重启flume,一重启,所有的日志就要重新采集,又和之前hdfs上的数据重复了。怎样避免这种情况啊?

bioger_hit 发表于 2014-11-24 19:36:39

mjjian0 发表于 2014-11-24 17:56
线上环境,每次修改flume配置文件(比如需要加配置),那么这个时候就需要重启flume,一重启,所有的日志就 ...
目前还没有发现完美的方案,楼主只能提前做好准备。
既然线上环境,应该把配置都确定了,否则就成调试了。
像这种边修改边上传,确实容易造成问题

EASONLIU 发表于 2014-12-16 22:34:37

学习了~~~~~~~~

leletuo2012 发表于 2016-11-4 14:45:18

改配置不一定要重启flume 他有自动加载配置文件的机制
页: [1]
查看完整版本: 线上flume重启后数据丢失