Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-6891

ExecutorAllocationManager will request negative number executors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Duplicate
    • None
    • None
    • Spark Core
    • None

    Description

      Below is the exception:
      15/04/14 10:10:18 ERROR Utils: Uncaught exception in thread spark-dynamic-executor-allocation-0
      java.lang.IllegalArgumentException: Attempted to request a negative number of executor(s) -1 from the cluster manager. Please specify a positive number!
      at org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend.requestTotalExecutors(CoarseGrainedSchedulerBackend.scala:342)
      at org.apache.spark.SparkContext.requestTotalExecutors(SparkContext.scala:1170)
      at org.apache.spark.ExecutorAllocationManager.addExecutors(ExecutorAllocationManager.scala:294)
      at org.apache.spark.ExecutorAllocationManager.addOrCancelExecutorRequests(ExecutorAllocationManager.scala:263)
      at org.apache.spark.ExecutorAllocationManager.org$apache$spark$ExecutorAllocationManager$$schedule(ExecutorAllocationManager.scala:230)
      at org.apache.spark.ExecutorAllocationManager$$anon$1$$anonfun$run$1.apply$mcV$sp(ExecutorAllocationManager.scala:189)
      at org.apache.spark.ExecutorAllocationManager$$anon$1$$anonfun$run$1.apply(ExecutorAllocationManager.scala:189)
      at org.apache.spark.ExecutorAllocationManager$$anon$1$$anonfun$run$1.apply(ExecutorAllocationManager.scala:189)
      at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1723)
      at org.apache.spark.ExecutorAllocationManager$$anon$1.run(ExecutorAllocationManager.scala:189)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)

      Below is the configurations I setted:
      spark.dynamicAllocation.enabled true
      spark.dynamicAllocation.minExecutors 0
      spark.dynamicAllocation.initialExecutors 3
      spark.dynamicAllocation.maxExecutors 7
      spark.dynamicAllocation.executorIdleTimeout 30
      spark.shuffle.service.enabled true

      Attachments

        1. DynamicExecutorTest.scala
          0.9 kB
          meiyoula

        Issue Links

          Activity

            People

              Unassigned Unassigned
              meiyoula meiyoula
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: