twitter-java.lang.outofmemoryerror

uttx8gqw  于 2021-06-04  发布在  Flume
关注(0)|答案(2)|浏览(354)

我正在尝试将twitter消息导入hdfs。我没有收到错误消息,但仍然无法在hdfs中找到输出。
这是我的conf文件:

TwitterAgent.sources = Twitter
    TwitterAgent.channels = MemChannel
    TwitterAgent.sinks = hdfs
    TwitterAgent.sources.Twitter.type = com.cloudera.flume.source.TwitterSource
    TwitterAgent.sources.Twitter.channels = MemChannel
    TwitterAgent.sources.Twitter.consumerKey = ...
    TwitterAgent.sources.Twitter.consumerSecret = ...
    TwitterAgent.sources.Twitter.accessToken =  ...
    TwitterAgent.sources.Twitter.accessTokenSecret =  ...

    TwitterAgent.sources.Twitter.keywords = medicare, PacificSource, India, hadoop
TwitterAgent.sinks.HDFS.type = hdfs
TwitterAgent.sinks.HDFS.channel = MemChannel
TwitterAgent.sinks.HDFS.hdfs.path = hdfs://localhost:9000/flumegrab/twitter/year=%Y/month=%m/day=%d
TwitterAgent.sinks.HDFS.hdfs.fileType = DataStream
TwitterAgent.sinks.HDFS.hdfs.writeFormat = Text
TwitterAgent.sinks.HDFS.hdfs.batchSize = 1000
TwitterAgent.sinks.HDFS.hdfs.rollSize = 0
TwitterAgent.sinks.HDFS.hdfs.rollCount = 10000
TwitterAgent.channels.MemChannel.type = memory
TwitterAgent.channels.MemChannel.capacity = 10000
TwitterAgent.channels.MemChannel.transactionCapacity = 100
----------------------------------------------------------
uujelgoq

uujelgoq1#

我知道欧普找到了答案,但他的解决方案对我帮助不大,我看到这个问题不时被人看到,所以我也会分享我的解决方案。
问题是,没有足够的堆空间,我看到op在他的env变量java\u opts中也在操作堆空间。我只是在回答这个问题时增加了maxsheap,我很好。增加Flume最大堆

wr98u20j

wr98u20j2#

我在flume-env.sh中对这行进行了注解之后,它就解决了

export JAVA_OPTS="-Xms100m -Xmx1000m -Dcom.sun.management.jmxremote"

内存设置在conf文件中:


# describe the channel

TwitterAgent.channels.MemChannel.type=memory
TwitterAgent.channels.MemChannel.capacity=10000
TwitterAgent.channels.MemChannel.transactionCapacity=100

相关问题