水槽hdfs水槽的滚动设置

问题描述 投票:0回答:1

以下是我在flume.conf中的设置:

agent.sources = srcpv
agent.channels = chlpv
agent.sinks = hdfsSink
agent.sources.srcpv.type = exec
agent.sources.srcpv.command = tail -F /var/log/collector/web/pv.log
agent.sources.srcpv.channels = chlpv
agent.channels.chlpv.type = memory
agent.channels.chlpv.capacity = 1000000
agent.channels.chlpv.transactionCapacity = 100
agent.sinks.hdfsSink.type = hdfs
agent.sinks.hdfsSink.channel = chlpv
agent.sinks.hdfsSink.hdfs.path = hdfs://hadoop01:8020/flume/web/pv/
agent.sinks.hdfsSink.hdfs.filePrefix = pv-
agent.sinks.hdfsSink.hdfs.rollSize = 1024
agent.sinks.hdfsSink.hdfs.rollInterval= 30
agent.sinks.hdfsSink.hdfs.rollCount = 10

我希望文件可以按特定大小或间隔滚动,但滚动设置(rollSize,rollInterval,rollCount)不能生效,也不会生成hdfs文件。几分钟后我收到了这个错误:

[SinkRunner-PollingRunner-DefaultSinkProcessor] ERROR org.apache.flume.sink.hdfs.HDFSEventSink - process failed java.lang.OutOfMemoryError: GC overhead limit exceeded

任何人都可以帮助指出适当的HDFS接收器设置吗?

hdfs flume sink
1个回答
0
投票

在运行水槽时,似乎你的Java内存不足。

您可以尝试在flume-env.sh文件中添加以下行:

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

根据您的系统配置增加值Xmx。

希望这可以帮助 :)

© www.soinside.com 2019 - 2024. All rights reserved.