项目经验之Flume内存优化

    科技2022-08-08  117

    项目经验之Flume内存优化

    1)问题描述:如果启动消费Flume抛出如下异常

    ERROR hdfs.HDFSEventSink: process failed java.lang.OutOfMemoryError: GC overhead limit exceeded

    2)解决方案步骤:

    (1)在hadoop102服务器的/opt/module/flume/conf/flume-env.sh文件中增加如下配置

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

    (2)同步配置到hadoop103、hadoop104服务器

    [haha@hadoop102 conf]$ xsync flume-env.sh

    3)Flume内存参数设置及优化

    JVM heap一般设置为4G或更高

    -Xmx与-Xms最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导致频繁fullgc。

    -Xms表示JVM Heap(堆内存)最小尺寸,初始分配;-Xmx 表示JVM Heap(堆内存)最大允许的尺寸,按需分配。如果不设置一致,容易在初始化时,由于内存不够,频繁触发fullgc。

    假如说这样配置之后,还是oom,这就需要增加flume的个数.步骤如下(16G已经很大了):

    增加日志服务器部署flume,打通kafka之后把nginx的数据打过来

    退役步骤:

    nginx退掉等待nginx中的数据消费完
    Processed: 0.010, SQL: 8