Искра в режиме Yarn Cluster - клиент Yarn сообщает о неудаче, даже если задание успешно завершено - PullRequest
0 голосов
/ 29 ноября 2018

Я экспериментирую с запуском Spark в режиме кластера пряжи (v2.3.0).Мы традиционно работали в режиме клиента пряжи, но некоторые задания отправляются из веб-служб .NET, поэтому мы должны поддерживать хост-процесс в фоновом режиме при использовании режима клиента (HostingEnvironment.QueueBackgroundWorkTime...).Мы надеемся, что сможем выполнить эти задания в стиле «запускай и забывай».

Наши работы продолжают успешно выполняться, но мы видим любопытную запись в журналах, где клиент пряжи, который передает работу вДиспетчер приложений всегда сообщает об ошибке:

18/11/29 16:54:35 INFO yarn.Client: Application report for application_1539978346138_110818 (state: RUNNING)
18/11/29 16:54:36 INFO yarn.Client: Application report for application_1539978346138_110818 (state: RUNNING)
18/11/29 16:54:37 INFO yarn.Client: Application report for application_1539978346138_110818 (state: FINISHED)
18/11/29 16:54:37 INFO yarn.Client: 
     client token: Token { kind: YARN_CLIENT_TOKEN, service:  }
     diagnostics: N/A
     ApplicationMaster host: <ip address>
     ApplicationMaster RPC port: 0
     queue: root.default
     start time: 1543510402372
     final status: FAILED
     tracking URL: http://server.host.com:8088/proxy/application_1539978346138_110818/
     user: p800s1
Exception in thread "main" org.apache.spark.SparkException: Application application_1539978346138_110818 finished with failed status
    at org.apache.spark.deploy.yarn.Client.run(Client.scala:1153)
    at org.apache.spark.deploy.yarn.YarnClusterApplication.start(Client.scala:1568)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:892)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:197)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:227)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:136)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
18/11/29 16:54:37 INFO util.ShutdownHookManager: Shutdown hook called

Мы всегда создаем SparkSession и всегда возвращаем sys.exit(0) (хотя это, похоже, игнорируется средой Spark независимо от того, как мы отправляем задание).У нас также есть собственный журнал внутренних ошибок, который ведет к Kafka / ElasticSearch.Об ошибках не сообщается во время выполнения задания.

Вот пример команды submit: spark2-submit --keytab /etc/keytabs/p800s1.ktf --principal p800s1@OURDOMAIN.COM --master yarn --deploy-mode cluster --driver-memory 2g --executor-memory 4g --class com.path.to.MainClass /path/to/UberJar.jar arg1 arg2

Кажется, что это безвредный шум, но я не люблю шум, который мне не нуженТ понять.Кто-нибудь испытывал нечто подобное?

...