sparkYarn配置问题:容器不断失败

8ehkhllq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(404)

我试图将Dataframe保存为textfile,但即使是小数据也要花很多时间。我相信我的配置有问题。有人能告诉我我做错了什么吗?

spark.default.parallelism   640
spark.hadoop.fs.s3.cse.plaintextLength.enabled  false
spark.hadoop.fs.s3n.filestatuscache.enable  true
spark.hadoop.mapreduce.input.fileinputformat.split.maxsize  33554432
spark.executor.id   driver
spark.executor.instances    10
spark.executor.memory   18g
spark.executor.extraJavaOptions -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:MaxHeapFreeRatio=70 -XX:+CMSClassUnloadingEnabled -XX:OnOutOfMemoryError='kill -9 %p'

spark.driver.memory 219695M
spark.driver.port   51885
spark.dynamicAllocation.enabled true
spark.dynamicAllocation.initialExecutors    spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors    infinity
spark.dynamicAllocation.minExecutors    120
spark.dynamicAllocation.schedulerBacklogTimeout 1s
spark.eventLog.enabled  true
spark.executor.cores    32

我有r3.8xlagle=1个主设备和10个从设备
我得到的错误是:

org.apache.spark.SparkException: Job aborted due to stage failure: Task 50 in stage 5.0 failed 4 times, most recent failure: Lost task 50.3 in stage 5.0 (TID 321, ip-172-31-3-183.ec2.internal): ExecutorLostFailure (executor 4 exited caused by one of the running tasks) Reason: Container marked as failed: container_1475709908651_0002_01_000005 on host: ip-172-31-3-183.ec2.internal. Exit status: 137. Diagnostics: Container killed on request. Exit code is 137 Container exited with a non-zero exit code 137 Killed by external signal Driver stacktrace:  
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1431) 
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1419)  
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1418) 
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) 
at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1418) 
at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:799) 
at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:799)
at scala.Option.foreach(Option.scala:236) 
at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:799)  
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1640) 
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1599)  
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1588) 
at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48) 
at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:620)  
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1832) 
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1845) 
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1858)  
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1929)  
at org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:927) 
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:150)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:111)
at org.apache.spark.rdd.RDD.withScope(RDD.scala:316) 
at org.apache.spark.rdd.RDD.collect(RDD.scala:926) 
at org.apache.spark.RangePartitioner$.sketch(Partitioner.scala:264) 
at org.apache.spark.RangePartitioner.<init>(Partitioner.scala:126) 
at org.apache.spark.rdd.OrderedRDDFunctions$$anonfun$sortByKey$1.apply(OrderedRDDFunctions.scala:62) 
at org.apache.spark.rdd.OrderedRDDFunctions$$anonfun$sortByKey$1.apply(OrderedRDDFunctions.scala:61)  
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:150) 
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:111) 
at org.apache.spark.rdd.RDD.withScope(RDD.scala:316) 
at org.apache.spark.rdd.OrderedRDDFunctions.sortByKey(OrderedRDDFunctions.scala:61)
at amazon.remo.spark.RemoPairRDDFunctions.saveAsRODB(RemoPairRDDFunctions.scala:62) 
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:192)
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:197) 
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:199)
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:201) 
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:203) 
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:205)
 at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:207) 
 at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:209) 
 at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:211) 
 at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:213) 
 at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:215) 
 at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:217) 
 at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:219)
  at $iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:221) at $iwC$$iwC$$iwC$$iwC.<init>(<console>:223) at $iwC$$iwC$$iwC.<init>(<console>:225) at $iwC$$iwC.<init>(<console>:227) at $iwC.<init>(<console>:229) at <init>(<console>:231) at .<init>(<console>:235) 
 at .<clinit>(<console>)
  at .<init>(<console>:7) 
  at .<clinit>(<console>) 
  at $print(<console>) 
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method
 ) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
 at java.lang.reflect.Method.invoke(Method.java:483) 
  at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065)  
 at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1346)  
 at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840) 
  at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871) 
  at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819) 
  at org.apache.zeppelin.spark.SparkInterpreter.interpretInput(SparkInterpreter.java:664) 
  at org.apache.zeppelin.spark.SparkInterpreter.interpret(SparkInterpreter.java:629)
   at org.apache.zeppelin.spark.SparkInterpreter.interpret(SparkInterpreter.java:622) 
  at org.apache.zeppelin.interpreter.ClassloaderInterpreter.interpret(ClassloaderInterpreter.java:57) 
  at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93) 
  at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:276)  
 at org.apache.zeppelin.scheduler.Job.run(Job.java:170) 
  at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:118)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:745)

我正在使用emr 4.3.0

6psbrbz9

6psbrbz91#

您的设置似乎比群集中可用的资源大。”退出代码137”是一个java堆空间错误。试着用更小的设置,如果你需要更多的话,从那里开始工作。

spark.driver.memory 16G
spark.dynamicAllocation.enabled true
spark.dynamicAllocation.initialExecutors    spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors    20
spark.dynamicAllocation.minExecutors    2
spark.executor.cores    2

相关问题