У меня проблема при попытке запустить приложение в кластере искр с именем mymaster
(и я проверил имя в файле конфигурации, чтобы быть уверенным).
Я запускаю приложение, используя следующее:
spark-submit --master spark://mymaster:7077 ...
Но дело в том, что я не понял, что мой код имеет следующие строки в драйвере:
val master = parameters.getOrElse("master", "local[*]")
val conf = new SparkConf().setAppName("myApp").setMaster(master)
val sc = new SparkContext(conf)
Итак, я хотел удалить часть .setMaster(master)
, потому что я подумал, что «она не нужна». Я сделал это, и я получил следующую ошибку:
ERROR cluster.StandaloneSchedulerBackend: Application has been killed. Reason: All masters are unresponsive! Giving up.
ERROR spark.SparkContext: Error initializing SparkContext.
Здесь https://stackoverflow.com/a/36197126/9759150 говорит:
Свойства, установленные непосредственно в SparkConf, имеют наивысший приоритет, затем флаги передаются в spark-submit или spark-shell, затем параметры в файле spark-defaults.conf.
Но если я попытаюсь поставить только это:
val master = parameters.getOrElse("master", "spark://hadoop-master:7077")
val conf = new SparkConf().setAppName("myApp").setMaster(master)
Я получаю ту же ошибку.
Есть идеи?