Конфигурация попыток повторного запуска Spark не работает из сеанса spark

#apache-spark #pyspark #apache-spark-sql

#apache-spark #pyspark #apache-spark-sql

Вопрос:

Я пытаюсь ограничить попытки приложения spark. Задание повторно отправляется в режиме клиента yarn после однократного сбоя.

Я использую активность HDInsight из Azure Data Factory.Это ограничивается одной попыткой, если параметр передается из ADF.

#

  val conf: SparkConf = new SparkConf()
  conf.set("spark.yarn.maxAppAttempts","5")
  conf.set("yarn.resourcemanager.am.max-attempts","5")

  val sc = SparkSession.builder
     .master("yarn")
    .config(conf)
    .appName("test")
    .enableHiveSupport()
    //.config("yarn.resourcemanager.am.max-attempts","1")
    //.config("spark.yarn.maxAppAttempts","1")
    .getOrCreate() ##

sc.conf.set("spark.yarn.maxAppAttempts","1")
  

вывод параметров из консоли показывает
(spark.yarn.maxAppAttempts,1)
(yarn.resourcemanager.am.max-попытки, 1)

Ответ №1:

Проверьте значение yarn.resourcemanager.am.max-attempts set в кластере Yarn. Spark spark.yarn.maxAppAttempts не может превышать значение, установленное в кластере yarn. Оно должно быть меньше и равно yarn.resourcemanager.am.max-attempts , чтобы приложения spark могли учитывать настройки yarn.