码迷,mamicode.com
首页 > 其他好文 > 详细

flume配置

时间:2014-08-27 19:04:38      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:des   java   使用   io   ar   文件   数据   问题   sp   

    最近在使用flume进行文件读取时遇到一个问题:接收到的信息未按照预想的数据格式输出。

    文件格式:

xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
    问题现象:    

    flume source使用spooldir读取文件夹下数据文件,获取到的数据入到kafka队列中,consume队列内容时发现处理的数据长度于记录数与原始文件有很大出入,通过分析flume日志后发现每次入队列的数据长度都是一致的,数据的截断位置不固定。

    通过查阅官方文档,找到了问题原因。flume spooldir默认配置使用LINE进行数据转换。在LINE中有如下一段说明:

Property Name	Default	Description
deserializer.maxLineLength	2048	Maximum number of characters to include in a single event. If a line exceeds this length, it is truncated, and the remaining characters on the line will appear in a subsequent event.
    flume每个event中处理的最大信息长度默认配置为2048,超出的信息会进行截断处理。

    问题修改方法,在flume的配置文件里追加解析长度配置。

    flume配置方式:

#在flume agent的数据源中按实际处理的文件内容配置信息长度
producer.sources.s.deserializer.maxLineLength = 90

flume配置

标签:des   java   使用   io   ar   文件   数据   问题   sp   

原文地址:http://my.oschina.net/u/262605/blog/307332

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!