Created 05-11-2016 01:05 PM
Getting "Twitter4J Async Dispatcher[0]" java.lang.OutOfMemoryError: Java heap space while streaming data from Twitter
ERROR channel.ChannelProcessor: Error while writing to required channel: FileChannel FileChannel { dataDirs: [/var/log/flume/data] } java.lang.OutOfMemoryError: Java heap space at com.google.protobuf.ByteString.copyFrom(ByteString.java:192) at com.google.protobuf.ByteString.copyFrom(ByteString.java:204) at org.apache.flume.channel.file.Put.writeProtos(Put.java:89) at org.apache.flume.channel.file.TransactionEventRecord.toByteBuffer(TransactionEventRecord.java:174) at org.apache.flume.channel.file.Log.put(Log.java:642) at org.apache.flume.channel.file.FileChannel$FileBackedTransaction.doPut(FileChannel.java:468) at org.apache.flume.channel.BasicTransactionSemantics.put(BasicTransactionSemantics.java:93) at org.apache.flume.channel.BasicChannelSemantics.put(BasicChannelSemantics.java:80) at org.apache.flume.channel.ChannelProcessor.processEvent(ChannelProcessor.java:265) at org.apache.flume.source.twitter.TwitterSource.onStatus(TwitterSource.java:173) at twitter4j.StatusStreamImpl.onStatus(StatusStreamImpl.java:75) at twitter4j.StatusStreamBase$1.run(StatusStreamBase.java:114) at twitter4j.internal.async.ExecuteThread.run(DispatcherImpl.java:116) Exception in thread "Twitter4J Async Dispatcher[0]" java.lang.OutOfMemoryError: Java heap space at com.google.protobuf.ByteString.copyFrom(ByteString.java:192) at com.google.protobuf.ByteString.copyFrom(ByteString.java:204) at org.apache.flume.channel.file.Put.writeProtos(Put.java:89) at org.apache.flume.channel.file.TransactionEventRecord.toByteBuffer(TransactionEventRecord.java:174) at org.apache.flume.channel.file.Log.put(Log.java:642) at org.apache.flume.channel.file.FileChannel$FileBackedTransaction.doPut(FileChannel.java:468) at org.apache.flume.channel.BasicTransactionSemantics.put(BasicTransactionSemantics.java:93) at org.apache.flume.channel.BasicChannelSemantics.put(BasicChannelSemantics.java:80) at org.apache.flume.channel.ChannelProcessor.processEvent(ChannelProcessor.java:265) at org.apache.flume.source.twitter.TwitterSource.onStatus(TwitterSource.java:173) at twitter4j.StatusStreamImpl.onStatus(StatusStreamImpl.java:75) at twitter4j.StatusStreamBase$1.run(StatusStreamBase.java:114) at twitter4j.internal.async.ExecuteThread.run(DispatcherImpl.java:116)
Created 05-13-2016 12:26 PM
The issue is with the role size and it has been resolved afterchanging the rollsize in the twitter conf file as below.
TwitterAgent.sinks.HDFS.hdfs.rollsize=67100884
Created 05-11-2016 07:47 PM
can you show a Java dump? What are you memory settings? What is the JVM heap dump? What are your Flume settings and versions?
Is there space on /var/log/flume/data
See here:
https://issues.apache.org/jira/browse/FLUME-2403
Do the twitter messages before that look okay? Normal JSON?
Have you tried this in NIFI? My Twitter to NIFI worked without issue.
Created 05-12-2016 05:45 AM
Flume version : 1.6.0 installed in HDP 2.4 using Ambari 2.2.1
Twitter messages are looking normal JSON.
I changed JAVA_OPTS value also but no luck.
mapreduce.map.java.opts is -Xmx1228m if i increase it is coming back to default automatically.
Please suggest. Thanks in advance.!
Created 05-13-2016 12:26 PM
The issue is with the role size and it has been resolved afterchanging the rollsize in the twitter conf file as below.
TwitterAgent.sinks.HDFS.hdfs.rollsize=67100884