Thanks. using this command and parameters,it works. *spark-submit --master yarn-client --executor-memory 8g --executor-cores 4 /home/hadoop/spark/main.py*
2015-04-08 5:45 GMT+08:00 Ted Yu <yuzhih...@gmail.com>: > 李铖: > w.r.t. #5, you can use --executor-cores when invoking spark-submit > > Cheers > > On Tue, Apr 7, 2015 at 2:35 PM, java8964 <java8...@hotmail.com> wrote: > >> It is hard to guess why OOM happens without knowing your application's >> logic and the data size. >> >> Without knowing that, I can only guess based on some common experiences: >> >> 1) increase "spark.default.parallelism" >> 2) Increase your executor-memory, maybe 6g is not just enough >> 3) Your environment is kind of unbalance between cup cores and available >> memory (8 cores vs 12G). Each core should have 3G for Spark. >> 4) If you cache RDD, using "MEMORY_ONLY_SER" instead of "MEMORY_ONLY" >> 5) Since your cores is much more compared with your available memory, >> lower the cores for executor by set "-Dspark.deploy.defaultCores=". When >> you have not enough memory, reduce the concurrency of your executor, it >> will lower the memory requirement, with running in a slower speed. >> >> Yong >> >> ------------------------------ >> Date: Wed, 8 Apr 2015 04:57:22 +0800 >> Subject: Re: 'Java heap space' error occured when query 4G data file from >> HDFS >> From: lidali...@gmail.com >> To: user@spark.apache.org >> >> Any help?please. >> >> Help me do a right configure. >> >> >> 李铖 <lidali...@gmail.com>于2015年4月7日星期二写道: >> >> In my dev-test env .I have 3 virtual machines ,every machine have 12G >> memory,8 cpu core. >> >> Here is spark-defaults.conf,and spark-env.sh.Maybe some config is not >> right. >> >> I run this command :*spark-submit --master yarn-client --driver-memory >> 7g --executor-memory 6g /home/hadoop/spark/main.py* >> exception rised. >> >> *spark-defaults.conf* >> >> spark.master spark://cloud1:7077 >> spark.default.parallelism 100 >> spark.eventLog.enabled true >> spark.serializer >> org.apache.spark.serializer.KryoSerializer >> spark.driver.memory 5g >> spark.driver.maxResultSize 6g >> spark.kryoserializer.buffer.mb 256 >> spark.kryoserializer.buffer.max.mb 512 >> spark.executor.memory 4g >> spark.rdd.compress true >> spark.storage.memoryFraction 0 >> spark.akka.frameSize 50 >> spark.shuffle.compress true >> spark.shuffle.spill.compress false >> spark.local.dir /home/hadoop/tmp >> >> * spark-evn.sh* >> >> export SCALA=/home/hadoop/softsetup/scala >> export JAVA_HOME=/home/hadoop/softsetup/jdk1.7.0_71 >> export SPARK_WORKER_CORES=1 >> export SPARK_WORKER_MEMORY=4g >> export HADOOP_CONF_DIR=/opt/cloud/hadoop/etc/hadoop >> export SPARK_EXECUTOR_MEMORY=4g >> export SPARK_DRIVER_MEMORY=4g >> >> *Exception:* >> >> 15/04/07 18:11:03 INFO BlockManagerInfo: Added taskresult_28 on disk on >> cloud3:38109 (size: 162.7 MB) >> 15/04/07 18:11:03 INFO BlockManagerInfo: Added taskresult_28 on disk on >> cloud3:38109 (size: 162.7 MB) >> 15/04/07 18:11:03 INFO TaskSetManager: Starting task 31.0 in stage 1.0 >> (TID 31, cloud3, NODE_LOCAL, 1296 bytes) >> 15/04/07 18:11:03 INFO BlockManagerInfo: Added taskresult_29 on disk on >> cloud2:49451 (size: 163.7 MB) >> 15/04/07 18:11:03 INFO BlockManagerInfo: Added taskresult_29 on disk on >> cloud2:49451 (size: 163.7 MB) >> 15/04/07 18:11:03 INFO TaskSetManager: Starting task 30.0 in stage 1.0 >> (TID 32, cloud2, NODE_LOCAL, 1296 bytes) >> 15/04/07 18:11:03 ERROR Utils: Uncaught exception in thread >> task-result-getter-0 >> java.lang.OutOfMemoryError: Java heap space >> at >> org.apache.spark.scheduler.DirectTaskResult$$anonfun$readExternal$1.apply$mcV$sp(TaskResult.scala:61) >> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:985) >> at >> org.apache.spark.scheduler.DirectTaskResult.readExternal(TaskResult.scala:58) >> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837) >> at >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796) >> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) >> at >> org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:62) >> at >> org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:81) >> at >> org.apache.spark.scheduler.TaskResultGetter$$anon$2$$anonfun$run$1.apply$mcV$sp(TaskResultGetter.scala:73) >> at >> org.apache.spark.scheduler.TaskResultGetter$$anon$2$$anonfun$run$1.apply(TaskResultGetter.scala:49) >> at >> org.apache.spark.scheduler.TaskResultGetter$$anon$2$$anonfun$run$1.apply(TaskResultGetter.scala:49) >> at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1460) >> at >> org.apache.spark.scheduler.TaskResultGetter$$anon$2.run(TaskResultGetter.scala:48) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:745) >> Exception in thread "task-result-getter-0" java.lang.OutOfMemoryError: >> Java heap space >> at >> org.apache.spark.scheduler.DirectTaskResult$$anonfun$readExternal$1.apply$mcV$sp(TaskResult.scala:61) >> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:985) >> at >> org.apache.spark.scheduler.DirectTaskResult.readExternal(TaskResult.scala:58) >> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837) >> at >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796) >> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) >> at >> org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:62) >> at >> org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:81) >> at >> org.apache.spark.scheduler.TaskResultGetter$$anon$2$$anonfun$run$1.apply$mcV$sp(TaskResultGetter.scala:73) >> at >> org.apache.spark.scheduler.TaskResultGetter$$anon$2$$anonfun$run$1.apply(TaskResultGetter.scala:49) >> at >> org.apache.spark.scheduler.TaskResultGetter$$anon$2$$anonfun$run$1.apply(TaskResultGetter.scala:49) >> at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1460) >> at >> org.apache.spark.scheduler.TaskResultGetter$$anon$2.run(TaskResultGetter.scala:48) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:745) >> 15/04/07 18:11:03 INFO BlockManagerInfo: Added taskresult_28 on disk on >> cloud3:38109 (size: 162.7 MB) >> 15/04/07 18:11:03 INFO BlockManagerInfo: Added taskresult_29 on disk on >> cloud2:49451 (size: 163.7 MB) >> 15/04/07 18:11:05 ERROR Utils: Uncaught exception in thread >> task-result-getter-4 >> java.lang.OutOfMemoryError: Java heap space >> Exception in thread "task-result-getter-4" java.lang.OutOfMemoryError: >> Java heap space >> 15/04/07 18:11:07 INFO BlockManagerInfo: Added taskresult_31 on disk on >> cloud3:38109 (size: 87.9 MB) >> 15/04/07 18:11:07 INFO BlockManagerInfo: Added taskresult_31 on disk on >> cloud3:38109 (size: 87.9 MB) >> 15/04/07 18:11:08 WARN TransportChannelHandler: Exception in connection >> from cloud3/192.168.0.95:38109 >> java.lang.OutOfMemoryError: Java heap space >> 15/04/07 18:11:08 ERROR TransportResponseHandler: Still have 1 requests >> outstanding when connection from cloud3/192.168.0.95:38109 is closed >> 15/04/07 18:11:08 ERROR OneForOneBlockFetcher: Failed while starting >> block fetches >> java.lang.OutOfMemoryError: Java heap space >> 15/04/07 18:11:08 ERROR RetryingBlockFetcher: Failed to fetch block >> taskresult_31, and will not retry (0 retries) >> java.lang.OutOfMemoryError: Java heap space >> 15/04/07 18:11:08 ERROR TransportClient: Failed to send RPC >> 7722440433247749491 to cloud3/192.168.0.95:38109: >> java.nio.channels.ClosedChannelException >> java.nio.channels.ClosedChannelException >> 15/04/07 18:11:08 ERROR OneForOneBlockFetcher: Failed while starting >> block fetches >> java.io.IOException: Failed to send RPC 7722440433247749491 to cloud3/ >> 192.168.0.95:38109: java.nio.channels.ClosedChannelException >> at >> org.apache.spark.network.client.TransportClient$2.operationComplete(TransportClient.java:158) >> at >> org.apache.spark.network.client.TransportClient$2.operationComplete(TransportClient.java:145) >> at >> io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680) >> at >> io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:567) >> at >> io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:424) >> at >> io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:745) >> at >> io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:646) >> at >> io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1054) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:658) >> at >> io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:716) >> at >> io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:651) >> at >> io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:112) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:658) >> at >> io.netty.channel.AbstractChannelHandlerContext.access$2000(AbstractChannelHandlerContext.java:32) >> at >> io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:939) >> at >> io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:991) >> at >> io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:924) >> at >> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380) >> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) >> at >> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: java.nio.channels.ClosedChannelException >> 15/04/07 18:11:08 INFO BlockManagerInfo: Added taskresult_30 on disk on >> cloud1:44029 (size: 163.5 MB) >> 15/04/07 18:11:08 INFO BlockManagerInfo: Added taskresult_30 on disk on >> cloud1:44029 (size: 163.5 MB) >> 15/04/07 18:11:08 ERROR Utils: Uncaught exception in thread >> task-result-getter-6 >> java.lang.OutOfMemoryError: Java heap space >> Exception in thread "task-result-getter-6" java.lang.OutOfMemoryError: >> Java heap space >> 15/04/07 18:11:08 ERROR TaskResultGetter: Exception while getting task >> result >> java.util.concurrent.ExecutionException: Boxed Error >> at scala.concurrent.impl.Promise$.resolver(Promise.scala:55) >> at >> scala.concurrent.impl.Promise$.scala$concurrent$impl$Promise$$resolveTry(Promise.scala:47) >> at >> scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:244) >> at scala.concurrent.Promise$class.complete(Promise.scala:55) >> at >> scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) >> at scala.concurrent.Promise$class.failure(Promise.scala:107) >> at scala.concurrent.impl.Promise$DefaultPromise.failure(Promise.scala:153) >> at >> org.apache.spark.network.BlockTransferService$$anon$1.onBlockFetchFailure(BlockTransferService.scala:92) >> at >> org.apache.spark.network.shuffle.RetryingBlockFetcher$RetryingBlockFetchListener.onBlockFetchFailure(RetryingBlockFetcher.java:230) >> at >> org.apache.spark.network.shuffle.OneForOneBlockFetcher.failRemainingBlocks(OneForOneBlockFetcher.java:123) >> at >> org.apache.spark.network.shuffle.OneForOneBlockFetcher.access$300(OneForOneBlockFetcher.java:43) >> at >> org.apache.spark.network.shuffle.OneForOneBlockFetcher$1.onFailure(OneForOneBlockFetcher.java:114) >> at >> org.apache.spark.network.client.TransportResponseHandler.failOutstandingRequests(TransportResponseHandler.java:84) >> at >> org.apache.spark.network.client.TransportResponseHandler.exceptionCaught(TransportResponseHandler.java:108) >> at >> org.apache.spark.network.server.TransportChannelHandler.exceptionCaught(TransportChannelHandler.java:69) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:271) >> at >> io.netty.channel.AbstractChannelHandlerContext.notifyHandlerException(AbstractChannelHandlerContext.java:768) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:335) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) >> at >> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) >> at >> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) >> at >> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) >> at >> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) >> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) >> at >> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: java.lang.OutOfMemoryError: Java heap space >> >> >