Thanks Natty & Ashish.

I have restarted flume agent with below config.Will monitor it for couple
of days whether it stops randomly.

JAVA_OPTS="-Xms1g -Xmx1g -Dcom.sun.management.jmxremote
-XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./java_pid<pid>.hprof"

thanks for all again.Hope this will work well.


On 17 July 2014 12:24, SaravanaKumar TR <saran0081...@gmail.com> wrote:

> thanks its really helpful.
> I guess the default heap dump path is /tmp ?
>
>
> On 17 July 2014 12:11, Ashish <paliwalash...@gmail.com> wrote:
>
>> Nope, a heap dump shall be generated. Please see more options at
>> http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
>>
>> to specify path use this -XX:HeapDumpPath=./java_pid<pid>.hprof
>>
>>
>> On Thu, Jul 17, 2014 at 12:09 PM, SaravanaKumar TR <
>> saran0081...@gmail.com> wrote:
>>
>>> yes , sorry I missed to update as 1 GB.
>>>
>>> But for out of memory error ,do we get notified in flume logs? I haven't
>>> see any exception till now.
>>>
>>>
>>> On 17 July 2014 11:55, SaravanaKumar TR <saran0081...@gmail.com> wrote:
>>>
>>>> Thanks Ashish , So I wil go ahead and update the flume-env,sh file with
>>>>
>>>> JAVA_OPTS="-Xms100m -Xmx200m -Dcom.sun.management.jmxremote
>>>> -XX:-HeapDumpOnOutOfMemoryError"
>>>>
>>>>
>>>> On 17 July 2014 11:39, Ashish <paliwalash...@gmail.com> wrote:
>>>>
>>>>> Add -XX:-HeapDumpOnOutOfMemoryError parameter as well, if your
>>>>> process is OOME, would generate a Heap dump. Allocate Heap based on the
>>>>> number of events you need to keep in channel. Try with 1 GB, but calculate
>>>>> according the Channel size as (average event size * number of events), 
>>>>> plus
>>>>> object over heads.
>>>>>
>>>>> Please note, this is just a rough calculation, actual memory usage
>>>>> would be higher.
>>>>>
>>>>>
>>>>> On Thu, Jul 17, 2014 at 11:21 AM, SaravanaKumar TR <
>>>>> saran0081...@gmail.com> wrote:
>>>>>
>>>>>> Okay thanks , So for 128 GB , I will allocate 1 GB as a heap memory
>>>>>> for flume agent.
>>>>>>
>>>>>> But I am surprised why there was no error registered for this memory
>>>>>> issues in log file (flume.log).
>>>>>>
>>>>>> Do i need to check in any other logs?
>>>>>>
>>>>>>
>>>>>> On 16 July 2014 21:55, Jonathan Natkins <na...@streamsets.com> wrote:
>>>>>>
>>>>>>> That's definitely your problem. 20MB is way too low for this.
>>>>>>> Depending on the other processes you're running with your system, the
>>>>>>> amount of memory you'll need will vary, but I'd recommend at least 1GB. 
>>>>>>> You
>>>>>>> should define it exactly where it's defined right now, so instead of the
>>>>>>> current command, you can run:
>>>>>>>
>>>>>>> "/cv/jvendor/bin/java -Xmx1g -Dflume.root.logger=DEBUG,LOGFILE......"
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jul 16, 2014 at 3:03 AM, SaravanaKumar TR <
>>>>>>> saran0081...@gmail.com> wrote:
>>>>>>>
>>>>>>>> I guess i am using defaulk values , from running flume i could see
>>>>>>>> these lines  "/cv/jvendor/bin/java -Xmx20m
>>>>>>>> -Dflume.root.logger=DEBUG,LOGFILE......"
>>>>>>>>
>>>>>>>> so i guess it takes 20 mb as agent flume memory.
>>>>>>>> My RAM is 128 GB.So please suggest how much can i assign as heap
>>>>>>>> memory and where to define it.
>>>>>>>>
>>>>>>>>
>>>>>>>> On 16 July 2014 15:05, Jonathan Natkins <na...@streamsets.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hey Saravana,
>>>>>>>>>
>>>>>>>>> I'm attempting to reproduce this, but do you happen to know what
>>>>>>>>> the Java heap size is for your Flume agent? This information leads me 
>>>>>>>>> to
>>>>>>>>> believe that you don't have enough memory allocated to the agent, 
>>>>>>>>> which you
>>>>>>>>> may need to do with the -Xmx parameter when you start up your agent. 
>>>>>>>>> That
>>>>>>>>> aside, you can set the byteCapacity parameter on the memory channel to
>>>>>>>>> specify how much memory it is allowed to use. It should default to 
>>>>>>>>> 80% of
>>>>>>>>> the Java heap size, but if your heap is too small, this might be a 
>>>>>>>>> cause of
>>>>>>>>> errors.
>>>>>>>>>
>>>>>>>>> Does anything get written to the log when you try to pass in an
>>>>>>>>> event of this size?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Natty
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jul 16, 2014 at 1:46 AM, SaravanaKumar TR <
>>>>>>>>> saran0081...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Natty,
>>>>>>>>>>
>>>>>>>>>> While looking further , i could see memory channal stops if a
>>>>>>>>>> line comes with greater than 2 MB.Let me know which parameter helps 
>>>>>>>>>> us to
>>>>>>>>>> define max event size of about 3 MB.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 16 July 2014 12:46, SaravanaKumar TR <saran0081...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> I am asking point 1 , because in some cases  I could see a line
>>>>>>>>>>> in logfile around 2 MB.So i need to know what mamimum event 
>>>>>>>>>>> size.How to
>>>>>>>>>>> measure it?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 16 July 2014 10:18, SaravanaKumar TR <saran0081...@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Natty,
>>>>>>>>>>>>
>>>>>>>>>>>> Please help me to get the answers for the below queries.
>>>>>>>>>>>>
>>>>>>>>>>>> 1,In case of exec source , (tail -F <logfile>) , is that each
>>>>>>>>>>>> line in file is considered to be a single event ?
>>>>>>>>>>>> If suppose a line is considered to be a event , what is that
>>>>>>>>>>>> maximum size of event supported by flume?I mean maximum characters 
>>>>>>>>>>>> in a
>>>>>>>>>>>> line supported?
>>>>>>>>>>>> 2.When event stop processing , I am not seeing "tail -F"
>>>>>>>>>>>> command running in the background.
>>>>>>>>>>>> I have used option like "a1.sources.r1.restart = true
>>>>>>>>>>>> a1.sources.r1.logStdErr = true"..
>>>>>>>>>>>> Does these config will not send any errors to flume.log if any
>>>>>>>>>>>> issues in tail?
>>>>>>>>>>>> Will this config doesnt try to restart the "tail -F" if its not
>>>>>>>>>>>> running in the background.
>>>>>>>>>>>>
>>>>>>>>>>>> 3.Does flume supports all formats of data in logfile or it has
>>>>>>>>>>>> any predefined data formats..
>>>>>>>>>>>>
>>>>>>>>>>>> Please help me with these to understand better..
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 16 July 2014 00:56, Jonathan Natkins <na...@streamsets.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Saravana,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Everything here looks pretty sane. Do you have a record of the
>>>>>>>>>>>>> events that came in leading up to the agent stopping collection? 
>>>>>>>>>>>>> If you can
>>>>>>>>>>>>> provide the last file created by the agent, and ideally whatever 
>>>>>>>>>>>>> events had
>>>>>>>>>>>>> come in, but not been written out to your HDFS sink, it might be 
>>>>>>>>>>>>> possible
>>>>>>>>>>>>> for me to reproduce this issue. Would it be possible to get some 
>>>>>>>>>>>>> sample
>>>>>>>>>>>>> data from you?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> Natty
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jul 15, 2014 at 10:26 AM, SaravanaKumar TR <
>>>>>>>>>>>>> saran0081...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Natty ,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Just to understand , at present my settings is as
>>>>>>>>>>>>>> "flume.root.logger=INFO,LOGFILE"
>>>>>>>>>>>>>> in log4j.properties , do you want me to change it to
>>>>>>>>>>>>>> "flume.root.logger=DEBUG,LOGFILE" and restart the agent.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> But when I start agent , I am already starting with below
>>>>>>>>>>>>>> command.I guess i am using DEBUG already but not in config file 
>>>>>>>>>>>>>> , while
>>>>>>>>>>>>>> starting agent.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ../bin/flume-ng agent -c /d0/flume/conf -f
>>>>>>>>>>>>>> /d0/flume/conf/flume-conf.properties -n a1 
>>>>>>>>>>>>>> -Dflume.root.logger=DEBUG,LOGFILE
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> If I do some changes in config "flume-conf.properties" or
>>>>>>>>>>>>>> restart the agent , it works again and starts collecting the 
>>>>>>>>>>>>>> data.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> currently all my logs move to flume.log , I dont see any
>>>>>>>>>>>>>> exception .
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> cat flume.log | grep "Exception"  doesnt show any.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 15 July 2014 22:24, Jonathan Natkins <na...@streamsets.com
>>>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi Saravana,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Our best bet on figuring out what's going on here may be to
>>>>>>>>>>>>>>> turn on the debug logging. What I would recommend is stopping 
>>>>>>>>>>>>>>> your agents,
>>>>>>>>>>>>>>> and modifying the log4j properties to turn on DEBUG logging for 
>>>>>>>>>>>>>>> the root
>>>>>>>>>>>>>>> logger, and then restart the agents. Once the agent stops 
>>>>>>>>>>>>>>> producing new
>>>>>>>>>>>>>>> events, send out the logs and I'll be happy to take a look over 
>>>>>>>>>>>>>>> them.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Does the system begin working again if you restart the
>>>>>>>>>>>>>>> agents? Have you noticed any other events correlated with the 
>>>>>>>>>>>>>>> agent
>>>>>>>>>>>>>>> stopping collecting events? Maybe a spike in events or 
>>>>>>>>>>>>>>> something like that?
>>>>>>>>>>>>>>> And for my own peace of mind, if you run `cat 
>>>>>>>>>>>>>>> /var/log/flume-ng/* | grep
>>>>>>>>>>>>>>> "Exception"`, does it bring anything back?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> Natty
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Tue, Jul 15, 2014 at 2:55 AM, SaravanaKumar TR <
>>>>>>>>>>>>>>> saran0081...@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Natty,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> This is my entire config file.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> # Name the components on this agent
>>>>>>>>>>>>>>>> a1.sources = r1
>>>>>>>>>>>>>>>> a1.sinks = k1
>>>>>>>>>>>>>>>> a1.channels = c1
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> # Describe/configure the source
>>>>>>>>>>>>>>>> a1.sources.r1.type = exec
>>>>>>>>>>>>>>>> a1.sources.r1.command = tail -F /data/logs/test_log
>>>>>>>>>>>>>>>> a1.sources.r1.restart = true
>>>>>>>>>>>>>>>> a1.sources.r1.logStdErr = true
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> #a1.sources.r1.batchSize = 2
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> a1.sources.r1.interceptors = i1
>>>>>>>>>>>>>>>> a1.sources.r1.interceptors.i1.type = regex_filter
>>>>>>>>>>>>>>>> a1.sources.r1.interceptors.i1.regex = resuming normal
>>>>>>>>>>>>>>>> operations|Received|Response
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> #a1.sources.r1.interceptors = i2
>>>>>>>>>>>>>>>> #a1.sources.r1.interceptors.i2.type = timestamp
>>>>>>>>>>>>>>>> #a1.sources.r1.interceptors.i2.preserveExisting = true
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> # Describe the sink
>>>>>>>>>>>>>>>> a1.sinks.k1.type = hdfs
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.path = hdfs://
>>>>>>>>>>>>>>>> testing.sck.com:9000/running/test.sck/date=%Y-%m-%d
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.writeFormat = Text
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.fileType = DataStream
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.filePrefix = events-
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.rollInterval = 600
>>>>>>>>>>>>>>>> ##need to run hive query randomly to check teh long running
>>>>>>>>>>>>>>>> process , so we  need to commit events in hdfs files regularly
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.rollCount = 0
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.batchSize = 10
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.rollSize = 0
>>>>>>>>>>>>>>>> a1.sinks.k1.hdfs.useLocalTimeStamp = true
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> # Use a channel which buffers events in memory
>>>>>>>>>>>>>>>> a1.channels.c1.type = memory
>>>>>>>>>>>>>>>> a1.channels.c1.capacity = 10000
>>>>>>>>>>>>>>>> a1.channels.c1.transactionCapacity = 10000
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> # Bind the source and sink to the channel
>>>>>>>>>>>>>>>> a1.sources.r1.channels = c1
>>>>>>>>>>>>>>>> a1.sinks.k1.channel = c1
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 14 July 2014 22:54, Jonathan Natkins <
>>>>>>>>>>>>>>>> na...@streamsets.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi Saravana,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> What does your sink configuration look like?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>> Natty
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Fri, Jul 11, 2014 at 11:05 PM, SaravanaKumar TR <
>>>>>>>>>>>>>>>>> saran0081...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Assuming each line in the logfile is considered as a
>>>>>>>>>>>>>>>>>> event for flume ,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 1.Do we have any maximum size of event defined for
>>>>>>>>>>>>>>>>>> memory/file channel.like any maximum no of characters in a 
>>>>>>>>>>>>>>>>>> line.
>>>>>>>>>>>>>>>>>> 2.Does flume supports all formats of data to be processed
>>>>>>>>>>>>>>>>>> as events or do we have any limitation.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I am just still trying to understanding why the flume
>>>>>>>>>>>>>>>>>> stops processing events after sometime.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Can someone please help me out here.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>> saravana
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 11 July 2014 17:49, SaravanaKumar TR <
>>>>>>>>>>>>>>>>>> saran0081...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Hi ,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I am new to flume and  using Apache Flume 1.5.0. Quick
>>>>>>>>>>>>>>>>>>> setup explanation here.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Source:exec , tail –F command for a logfile.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Channel: tried with both Memory & file channel
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Sink: HDFS
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> When flume starts , processing events happens properly
>>>>>>>>>>>>>>>>>>> and its moved to hdfs without any issues.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> But after sometime flume suddenly stops sending events
>>>>>>>>>>>>>>>>>>> to HDFS.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I am not seeing any errors in logfile flume.log as
>>>>>>>>>>>>>>>>>>> well.Please let me know if I am missing any configuration 
>>>>>>>>>>>>>>>>>>> here.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Below is the channel configuration defined and I left
>>>>>>>>>>>>>>>>>>> the remaining to be default values.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> a1.channels.c1.type = FILE
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> a1.channels.c1.transactionCapacity = 100000
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> a1.channels.c1.capacity = 10000000
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>> Saravana
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> thanks
>>>>> ashish
>>>>>
>>>>> Blog: http://www.ashishpaliwal.com/blog
>>>>> My Photo Galleries: http://www.pbase.com/ashishpaliwal
>>>>>
>>>>
>>>>
>>>
>>
>>
>> --
>> thanks
>> ashish
>>
>> Blog: http://www.ashishpaliwal.com/blog
>> My Photo Galleries: http://www.pbase.com/ashishpaliwal
>>
>
>

Reply via email to