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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。