a.问题描述:
在使用NIFI的过程中,突然NIFI出现无法打开的情况或者一直在加载中,用xshell打开服务器查看日志发现在nifi-app.log中出现了如下的错误
2022-03-16 09:45:16,102 ERROR [Validate Components Thread-4] o.a.n.c.validation.TriggerValidationTask Encountered unexpected error when attempting to validate components
java.lang.OutOfMemoryError: GC overhead limit exceeded
2022-03-16 09:45:22,237 WARN [NiFi Web Server-68] o.e.jetty.util.thread.QueuedThreadPool
java.lang.OutOfMemoryError: GC overhead limit exceeded
2022-03-16 09:45:22,238 ERROR [Listen to Bootstrap] org.apache.nifi.BootstrapListener Failed to process request from Bootstrap due to java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
2022-03-16 09:45:22,238 ERROR [Timer-Driven Process Thread-7] o.a.nifi.processors.standard.SplitJson SplitJson[id=e9d93c2b-e1e1-146d-86e4-98007325cc92] Failed to process session due to java.lang.OutOfMemoryError: GC overhead limit exceeded; Processor Administratively Yielded for 1 sec: java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
2022-03-16 09:45:19,976 ERROR [pool-12-thread-1] o.a.n.c.r.WriteAheadFlowFileRepository Unable to checkpoint FlowFile Repository due to java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
2022-03-16 09:45:22,238 ERROR [Load-Balanced Client Thread-6] org.apache.nifi.engine.FlowEngine Uncaught Exception in Runnable task
java.lang.OutOfMemoryError: GC overhead limit exceeded
b.解决方法:
按照网上的方法反复设置了nifi-bootstrap里面的
java.arg.2=-Xms1024m
java.arg.3=-Xmx1024m
但还是没办法启动nifi。
最后在nifi-properties里面修改nifi.flowcontroller.autoResumeState=false #true
可以正常启动nifi,查看里面的processor发现问题出在splitjson这个processor上,由于输入表格的数据量太大,导致GC 超出上限。。。
作为小菜鸟还是要多多学习啊ㅠㅠ