SparkContext не запускается, если для мастера установлено значение «Пряжа» - PullRequest
0 голосов
/ 17 декабря 2018

Я новичок в Apache Spark, пытаюсь запустить SparkContext в Scala API (платформа Play).Когда я устанавливаю Spark master на «local», он работает нормально, однако, когда я устанавливаю master на «YARN», он выдает исключение:

[SparkException: Yarn application has already ended! It might have been killed or unable to launch application master.]

, когда я проверяю журналы на наличие контейнера, я получаю следующее:

Error: Could not find or load main class org.apache.spark.deploy.yarn.ExecutorLauncher

если я запускаю spark-shell --master yarn, он без проблем запускает SparkContext.

Вот мой код:

 val sparkS = SparkSession.builder
  .config("spark.hadoop.validateOutputSpecs", "false")
  .config("spark.executor.memory", "4g")
  .config("spark.driver.memory", "3g")
  .config("spark.rpc.message.maxSize", "2047")
  .config("SPARK_DIST_CLASSPATH", "/usr/local/spark/jars/*")
  .config("spark.yarn.archive", "hdfs://localhost:54310/spark-libs.jar")
  .config("spark.yarn.jars", "/usr/local/spark/jars/*")
  .config("spark.executor.extraJavaOptions", "-XX:+PrintGCDetails -Dkey=value -Dnumbers=\"one two three\"")
  .config("spark.executor.extraLibraryPath", "/usr/local/hadoop-2.8.5/lib/native:/usr/local/hadoop-2.8.5/lib/native/Linux-amd64-64")
  .config("HADOOP_CONF_DIR", "/usr/local/hadoop-2.8.5/etc/hadoop")
  .config("spark.yarn.am.waitTime", "1d")
  .master("yarn").getOrCreate

Кто-нибудь может предложить решение?спасибо

1 Ответ

0 голосов
/ 17 декабря 2018

вам нужно будет указать основной класс при отправке баночки с искрой. Ниже приведен формат

  ./bin/spark-submit \
  --class <main-class> \
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other options
  <application-jar> \
  [application-arguments]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...