Flume启动问题

在虚拟机上启动Flume时报内存不足的错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

第一反应以为是虚拟机的内存太小,但每个虚拟机至少都有2G的内存,而且仅仅只启动了flume,所以光启动flume就报错,应该不是这个原因。
第二反应是flume的channel是使用的memory存储的类型,于是改成file存储试试:

a2.channels.c2.type = file
a2.channels.c2.checkpointDir = /opt/module/flume/checkpoint
a2.channels.c2.dataDirs = /opt/module/flume/data

但是重启还是报错,回头想一下在flume还没有启动完成的时候,应该还没有到channel这一步,也不是这个问题。
最后试了下改变flume本身的Java内存配置,第一个地方是flume安装目录/conf/flume-env.sh中的配置:

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

报错依然存在,第二个地方是flume安装目录/bin/flume-ng

将JAVA_OPTS="-Xms20m" 改为
JAVA_OPTS="-Xms200m"

重新启动flume成功。

另外多个agent串联的情况下,注意先启动后面的agent再启动前面的agent,否则会报错:

20/09/16 14:00:48 WARN sink.AbstractRpcSink: Unable to create Rpc client using hostname: hadoop100, port: 4141
org.apache.flume.FlumeException: NettyAvroRpcClient { host: hadoop100, port: 4141 }: RPC connection error

你可能感兴趣的:(Flume启动问题)