SparkException: Ошибка, запрашивающая автономный планировщик, чтобы закрыть исполнителей - PullRequest
0 голосов
/ 17 марта 2020

Воздушный поток будет автоматически планировать и выполнять задачи каждую ночь. Обычно проблем нет, но задачи за эти два дня все провалились. О неудачных задачах сообщается следующим образом

org.apache.spark.SparkException: Error asking standalone scheduler to shut down executors
    at org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend.stopExecutors(CoarseGrainedSchedulerBackend.scala:414)
    at org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend.stop(CoarseGrainedSchedulerBackend.scala:420)
    at org.apache.spark.scheduler.cluster.YarnSchedulerBackend.stop(YarnSchedulerBackend.scala:104)
    at org.apache.spark.scheduler.TaskSchedulerImpl.stop(TaskSchedulerImpl.scala:653)
    at org.apache.spark.scheduler.DAGScheduler.stop(DAGScheduler.scala:2194)
    at org.apache.spark.SparkContext$$anonfun$stop$6.apply$mcV$sp(SparkContext.scala:1949)
    at org.apache.spark.util.Utils$.tryLogNonFatalError(Utils.scala:1340)
    at org.apache.spark.SparkContext.stop(SparkContext.scala:1948)
    at org.apache.spark.sql.SparkSession.stop(SparkSession.scala:713)
    at org.apache.spark.sql.SparkSession.close(SparkSession.scala:721)
    at com.okjike.data.util.TableContext.close(TableContext.scala:43)
    at com.okjike.data.table.JdbcReadTable$.main(JdbcReadTable.scala:58)
    at com.okjike.data.table.JdbcReadTable.main(JdbcReadTable.scala)
    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:498)
    at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:684)
Caused by: java.lang.InterruptedException
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1039)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1328)
    at scala.concurrent.impl.Promise$DefaultPromise.tryAwait(Promise.scala:212)
    at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:222)
    at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:227)
    at org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:220)
    at org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:75)
    at org.apache.spark.rpc.RpcEndpointRef.askSync(RpcEndpointRef.scala:92)
    at org.apache.spark.rpc.RpcEndpointRef.askSync(RpcEndpointRef.scala:76)
    at org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend.stopExecutors(CoarseGrainedSchedulerBackend.scala:410)
    ... 17 more
20/03/17 07:00:37 ERROR TransportResponseHandler: Still have 1 requests outstanding when connection from /xxxxx is closed
20/03/17 07:00:37 WARN BlockManagerMasterEndpoint: Error trying to remove RDD 66 from block manager BlockManagerId(1, xxxxx, 43933, None)
java.io.IOException: Connection from xxxx closed```

Кластер развернут на Amazon emr.Я подозреваю, что слишком много задач вызвало недостаток ресурсов в последнее время. Я не уверен, будет ли добавление ресурсов работать. Ниже приведена конфигурация искры. Может быть, лучшая конфигурация может заставить их работать лучше? Подскажите пожалуйста, как мне настроить

spark.driver.maxResultSize       2g
spark.hadoop.parquet.metadata.read.parallelism 100
spark.sql.shuffle.partitions     499
spark.sql.broadcastTimeout       1200
spark.sql.parquet.filterPushdown true
spark.default.parallelism        311
spark.dynamicAllocation.minExecutors 2
spark.dynamicAllocation.initialExecutors 4
spark.executor.instances         2
spark.executor.memory            12g
spark.driver.memory              2g
spark.kryoserializer.buffer.max  128
spark.driver.cores               2
spark.executor.cores             8
spark.io.compression.codec       snappy
spark.sql.filesourceTableRelationCacheSize 0
spark.dynamicAllocation.maxExecutors 16
spark.scheduler.mode             FAIR
...