flume系列之:java.lang.OutOfMemoryError: unable to create new native thread
flume系列之:java.lang.OutOfMemoryError: unable to create new native thread
- 一、完整报错
- 二、报错原因
- 三、 解决方法
一、完整报错
- java.io.IOException: java.lang.OutOfMemoryError: unable to create new native thread
at org.apache.hadoop.hdfs.ExceptionLastSeen.set(ExceptionLastSeen.java:45)
at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:823) - Caused by: java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:719)
at org.apache.hadoop.hdfs.DataStreamer.initDataStreaming(DataStreamer.java:634)
at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:714)
二、报错原因
- 上游产生大量数据,消费数据需要的内存超出了flume agent组设置的内存。
- 在Java中,每个线程都会占用一定的操作系统资源,包括栈内存和线程控制块等。当应用程序创建了大量的线程时,会消耗大量的资源,如果超过了限制,就会导致无法创建新的本地线程。
三、 解决方法
- 增大flume agent组内存
根据需要调整使用的内存