Flink 测试运行,遇到的GC跟taskmanager挂掉问题

1,出现这个,因为代码写的是Json类型,算子与算子之间下发json对象,没有序列化,都改成pojo 实现序列化,可以减轻内存消耗Flink 测试运行,遇到的GC跟taskmanager挂掉问题_第1张图片

 

2,因为有个业务是全量统计,会存储历史状态,所以内存要设置大一点,设置

RocksDBStateBackend存储,设置TTL,之前可能压力测试3个小时TM就死了,再次测试 超过十几个小时任务都还比较稳定

3,安装JVM工具监控JVM的情况,并且在conf文件配置参数

env.java.opts: -Xloggc:/wyyt/logs/flink-1.10.0/gc.log -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDetails -XX:-OmitStackTraceInFastThrow -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=20 -XX:GCLogFileSize=20M -XX:+PrintPromotionFailure -XX:+PrintGCCause

注:指定输出日志的时候一定要注意权限问题

 

4,针对对象的序列化或者Avro Kryo等等,具体参考官网的PDF:

Flink 测试运行,遇到的GC跟taskmanager挂掉问题_第2张图片

 

你可能感兴趣的:(Flink)