Hi, Have you ever increased the memory of job master? If you run a flink job on yarn, you can increase job master's memory by "-yjm 1024m"[1].
Best, Hequn [1] https://ci.apache.org/projects/flink/flink-docs-master/ops/deployment/yarn_setup.html#run-a-flink-job-on-yarn On Mon, Aug 13, 2018 at 10:25 PM, 杨力 <bill.le...@gmail.com> wrote: > I used to runFlink SQL in streaming mode with more than 70 sqls in version > 1.4. With so many sqls loaded, akka.framesize has to be set to 200 MB to > submit the job. > > When I am trying to run the job with flink 1.6.0, the HTTP-based job > submission works perfectly but an OutOfMemoryError is thrown when tasks are > being depolyed. > > java.lang.OutOfMemoryError: Java heap space > at java.util.Arrays.copyOf(Arrays.java:3236) > at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream. > java:118) > at java.io.ByteArrayOutputStream.ensureCapacity( > ByteArrayOutputStream.java:93) > at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream. > java:153) > at java.io.ObjectOutputStream$BlockDataOutputStream.drain( > ObjectOutputStream.java:1877) > at java.io.ObjectOutputStream$BlockDataOutputStream. > setBlockDataMode(ObjectOutputStream.java:1786) > at java.io.ObjectOutputStream.writeObject0( > ObjectOutputStream.java:1189) > at java.io.ObjectOutputStream.writeObject( > ObjectOutputStream.java:348) > at org.apache.flink.util.InstantiationUtil.serializeObject( > InstantiationUtil.java:512) > at org.apache.flink.util.SerializedValue.<init>( > SerializedValue.java:52) > at org.apache.flink.runtime.blob.BlobWriter. > serializeAndTryOffload(BlobWriter.java:99) > at org.apache.flink.runtime.executiongraph.ExecutionJobVertex. > getTaskInformationOrBlobKey(ExecutionJobVertex.java:393) > at org.apache.flink.runtime.executiongraph.ExecutionVertex. > createDeploymentDescriptor(ExecutionVertex.java:827) > at org.apache.flink.runtime.executiongraph.Execution. > deploy(Execution.java:580) > at org.apache.flink.runtime.executiongraph.ExecutionGraph. > lambda$scheduleEager$2(ExecutionGraph.java:963) > at org.apache.flink.runtime.executiongraph.ExecutionGraph$ > $Lambda$105/800937955.accept(Unknown Source) > at java.util.concurrent.CompletableFuture.uniAccept( > CompletableFuture.java:656) > at java.util.concurrent.CompletableFuture$UniAccept. > tryFire(CompletableFuture.java:632) > at java.util.concurrent.CompletableFuture.postComplete( > CompletableFuture.java:474) > at java.util.concurrent.CompletableFuture.complete( > CompletableFuture.java:1962) > at org.apache.flink.runtime.concurrent.FutureUtils$ > ResultConjunctFuture.handleCompletedFuture(FutureUtils.java:541) > at org.apache.flink.runtime.concurrent.FutureUtils$ > ResultConjunctFuture$$Lambda$92/1432873073.accept(Unknown Source) > at java.util.concurrent.CompletableFuture.uniWhenComplete( > CompletableFuture.java:760) > at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire( > CompletableFuture.java:736) > at java.util.concurrent.CompletableFuture.postComplete( > CompletableFuture.java:474) > at java.util.concurrent.CompletableFuture.complete( > CompletableFuture.java:1962) > at org.apache.flink.runtime.concurrent.FutureUtils$1. > onComplete(FutureUtils.java:772) > at akka.dispatch.OnComplete.internal(Future.scala:259) > at akka.dispatch.OnComplete.internal(Future.scala:256) > at akka.dispatch.japi$CallbackBridge.apply(Future.scala:186) > at akka.dispatch.japi$CallbackBridge.apply(Future.scala:183) > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36) > > This OOM error raises even with a 12GB heap. I have dived into source > code, only found that ExecutionJobVertex.getTaskInformationOrBlobKey is > serializing a TaskInformation object, which seems not to be a large one. > Can anyone help me to fix or work around the problem? >