flume-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ZORAIDA HIDALGO SANCHEZ <zora...@tid.es>
Subject Re: Events being cut by flume
Date Sun, 08 Sep 2013 19:05:29 GMT
Good news:
The 9 lines begin cut were because the maxLineLenght(when truncated, they are added below
as a different event). Great, so, definitely, I can deal with those files and flume and the
final configuration is:

  *   agent.sources.rpb.inputCharset = ISO-8859-1
  *   agent.sources.rpb.deserializer.maxLineLength = 300
  *   agent.sources.rpb.deserializer.outputCharset = UTF-8

By the way, it works without removing the BOM character or converting to ISO-8859-1. Was a
problem of indicating to Flume the right encode(and iconv was the tool that I used to "discover"
it).
Hope it helps to someone.

Zoraida.-

De: zoraida <zoraida@tid.es<mailto:zoraida@tid.es>>
Responder a: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Fecha: domingo, 8 de septiembre de 2013 19:52
Para: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Asunto: Re: Events being cut by flume

Hi all,

I have made some advances:

  *   First, I have remove the BOM character. I don't know for which reason they were adding
F0FF BOM, which means UTF-16BE whereas the command "file –b" says the file is UTF-8.
  *   I have used iconv to convert the files to the encoding I suspected  they are: cat file.csv
| iconv -c -f UTF-8 -t ISO-8859-1 >> file.csv.iso
  *   I run flume with this configuration:
     *   agent.sources.rpb.inputCharset = ISO-8859-1
     *   agent.sources.rpb.deserializer.maxLineLength = 300
     *   agent.sources.rpb.deserializer.outputCharset = UTF-8

The resulting file has all the events on the original file! However, some lines have been
added. Usign diff, I have seen that it happens that flume is splitting some events into two
different lines(only 9 from 180000 but still). The other thing I have observed is that the
resulting file contains ^M character(no, the one obtained by using iconv does not contains
it).

Wow, big mess… any idea?
Thanks.

De: zoraida <zoraida@tid.es<mailto:zoraida@tid.es>>
Responder a: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Fecha: jueves, 5 de septiembre de 2013 17:57
Para: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Asunto: Re: Events being cut by flume

One more thing, I have read a thread (the last answer)  but I am not able to find .flumespool-main.meta
into .flumespool dir(which is created but remains empty all the time):

https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/eIEOwfKyaX0

Any idea?

Thanks

De: zoraida <zoraida@tid.es<mailto:zoraida@tid.es>>
Responder a: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Fecha: jueves, 5 de septiembre de 2013 17:34
Para: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Asunto: Re: Events being cut by flume

Hi Israel,

sorry for the delay. I tried your suggestion but still does not work. I have notice that if
I do not specify the input/output encoding, the error is the same(always stops in the same
event cutting it at the same character and stop of processing the rest of the file). However,
comparing the resulting file with the one that we get when specifying enconding we have note
that there are some differences. Specifically, the are some events that are spllited into
two events because some break line is introduced(this happens when specifying the encoding).
It looks like our files are not UTF-8 but the OS recognize them as UTF-8(some of them have
BOM and others not). However, flume does not recognize them as UTF-8 because some weird character.

Thanks for your help, any other suggestion will be very appreciated.



De: Israel Ekpo <israel@aicer.org<mailto:israel@aicer.org>>
Responder a: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Fecha: martes, 27 de agosto de 2013 17:53
Para: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Asunto: Re: Events being cut by flume

The default value for the available memory specified in $FLUME_HOME/bin/flume-ng is very small
(20MB)

So, in your $FLUME_HOME/conf/flume-env.sh file

Try increasing your Java memory to a higher number (at most 50% of the available RAM)
JAVA_OPTS="-Xms4096m -Xmx4096m -XX:MaxPermSize=4096m"

Then, in your agent configuration file:

Increase the maximum number of lines per event to a much higher number (like 5000).

Also change the output encoding to UTF-8

Let's make sure that the input encoding matches the encoding of the original event. This can
cause problems if it is not the right one.

Let's see if these changes make a difference.


Author and Instructor for the Upcoming Book and Lecture Series
Massive Log Data Aggregation, Processing, Searching and Visualization with Open Source Software
http://massivelogdata.com


On 27 August 2013 11:13, ZORAIDA HIDALGO SANCHEZ <zoraida@tid.es<mailto:zoraida@tid.es>>
wrote:
Hi Israel,

thanks for your response. We already checked this, doing :set list with vi editor our events
look like this:

"line1field1";"line1field2";"line1fieldN"$
"lineNfield1";"lineNfield2";"lineNfieldN"$

There are not event delimiters($) between fields of an event.
I have tried forcing the encoding(because I believe this files, that are generated by our
customer, are converted from ascii to utf-8 by BOM and they could contain characters with
more bytes that the expected one):

agent.sources.rpb.inputCharset = UTF-16
agent.sources.rpb.deserializer.maxLineLength = 250
agent.sources.rpb.deserializer.outputCharset = UTF-16

but if i use a maxLineLenght of this size(250) then lot of events are truncated(event the
max characters per line are 250):
13/08/27 17:03:34 WARN serialization.LineDeserializer: Line length exceeds max (250), truncating
line!

if I take a look into the generated file, there are unrecognized chacarters: �� and events
have been cut in a random way(there are lines with only 3 characters).

I have tried increasing the maxLineLenght parameter but I end getting a java heap space exception
:(

Again, thanks. Any help will be very appreciated.



De: Israel Ekpo <israel@aicer.org<mailto:israel@aicer.org>>

Responder a: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Fecha: martes, 27 de agosto de 2013 16:29

Para: Flume User List <user@flume.apache.org<mailto:user@flume.apache.org>>
Asunto: Re: Events being cut by flume

Hello Zoraida,

What sources are you events coming from?

I have a feeling they are coming from SpoolingDirectory and the events contains newline characters
(even delimiter).

If this is the case, you are going to see the events split up whenever the parser encounters
the delimiter.


Author and Instructor for the Upcoming Book and Lecture Series
Massive Log Data Aggregation, Processing, Searching and Visualization with Open Source Software
http://massivelogdata.com


On 27 August 2013 06:20, ZORAIDA HIDALGO SANCHEZ <zoraida@tid.es<mailto:zoraida@tid.es>>
wrote:

Hello,

I am having some weird problem while processing events coming from a file with this format:
UTF-8 Unicode (with BOM) English text, with CRLF line terminators

Some of the events in the file contain this text: "Marés". While some events are sent correctly
without begin cut by flume, there are others that arrive incomplete. And even more, the process
of sending more events (once one event has been cut) stops. We end with incomplete files on
HDFS. We have isolate the problem: trying with roll file sink instead of HDFS , removing all
the interceptors, etc. However, we still have the same problem. Apparently, the troublesome
event does not have any hide weird character and files are generated automatically so we would
expect that if some malformed input comes from one event, it would come for the others too.

We really appreciate any hint that you could give us.

Thanks.



________________________________

Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra política
de envío y recepción de correo electrónico en el enlace situado más abajo.
This message is intended exclusively for its addressee. We only send and receive email on
the basis of the terms set out at:
http://www.tid.es/ES/PAGINAS/disclaimer.aspx


________________________________

Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra política
de envío y recepción de correo electrónico en el enlace situado más abajo.
This message is intended exclusively for its addressee. We only send and receive email on
the basis of the terms set out at:
http://www.tid.es/ES/PAGINAS/disclaimer.aspx


________________________________

Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra política
de envío y recepción de correo electrónico en el enlace situado más abajo.
This message is intended exclusively for its addressee. We only send and receive email on
the basis of the terms set out at:
http://www.tid.es/ES/PAGINAS/disclaimer.aspx

________________________________

Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra política
de envío y recepción de correo electrónico en el enlace situado más abajo.
This message is intended exclusively for its addressee. We only send and receive email on
the basis of the terms set out at:
http://www.tid.es/ES/PAGINAS/disclaimer.aspx

________________________________

Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra política
de envío y recepción de correo electrónico en el enlace situado más abajo.
This message is intended exclusively for its addressee. We only send and receive email on
the basis of the terms set out at:
http://www.tid.es/ES/PAGINAS/disclaimer.aspx

________________________________

Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra política
de envío y recepción de correo electrónico en el enlace situado más abajo.
This message is intended exclusively for its addressee. We only send and receive email on
the basis of the terms set out at:
http://www.tid.es/ES/PAGINAS/disclaimer.aspx
Mime
View raw message