Задание Spark в кластере DC / OS на AWS

Я пытаюсь запустить пакетный процесс в Spark на DC / OS на AWS. Для каждого пакетного процесса у меня есть определенные параметры, которые я отправляю, когда делаю отправку (например, для каких пользователей следует выполнять пакетный процесс).

У меня есть кластер Spark на DC / OS с одним главным и 3 частными узлами.

Я создал application.conf файл и загрузил его на S3 и включил разрешения для доступа к этому файлу.

Моя команда отправки искры выглядит так:

dcos spark run --submit-args = '- Dspark.mesos.coarse = true --driver-class-path https: // path_to_the_folder_root_file_is_the > --conf spark.driver.extraJavaOptions = -Dconfig.file = application.conf --conf spark.executor.extraJavaOptions = -Dconfig.file = application.conf --class имя_класса jar_location_on_S3 '

И я получаю сообщение об ошибке, что файл job.properties не найден:

Исключение в потоке "main" com.typesafe.config.ConfigException $ Отсутствует: не найден параметр конфигурации для ключа 'wattio-batch' в com.typesafe.config.impl.SimpleConfig.findKey (SimpleConfig.java:124) в com.typesafe .config.impl.SimpleConfig.find (SimpleConfig.java:145) в com.typesafe.config.impl.SimpleConfig.find (SimpleConfig.java:159) в com.typesafe.config.impl.SimpleConfig.find (SimpleConfig.java : 164) в com.typesafe.config.impl.SimpleConfig.getObject (SimpleConfig.java:218) в com.typesafe.config.impl.SimpleConfig.getConfig (SimpleConfig.java:224) в com.typesafe.config.impl. SimpleConfig.getConfig (SimpleConfig.java:33) в com.enerbyte.spark.jobs.wattiobatch.WattioBatchJob $ .main (WattioBatchJob.scala: 31) в com.enerbyte.spark.jobs.wattiobatch.WattioBatchJobatch.main (WattioBatchJobatch.main (WattioBatchJobatch.main) ) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62 ) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в org.apache.spark.deploy.SparkSubmit $ .org $ apache $ $ deploy $ SparkSubmit $$ runMain (SparkSubmit.scala: 786) в org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1 (SparkSubmit.scala: 183) в org.apache.spark.deploy.SparkSubmit $ .submit (SparkSubmit .scala: 208) в org.apache.spark.deploy.SparkSubmit $ .main (SparkSubmit.scala: 123) в org.apache.spark.deploy.SparkSubmit.main (SparkSubmit.scala)

Как это правильно установить? Хотя один из частных ведомых устройств выполняет драйвер, есть ли у него доступ к Интернету (может ли он перейти на S3 и загрузить файл conf)?

Спасибо


person Srdjan Nikitovic    schedule 19.05.2016    source источник


Ответы (1)


Мне не удалось отправить файл conf из команды spark submit, но я жестко запрограммировал расположение файла application.conf в начале моей программы, используя:

System.setProperty("config.url", "https://s3_location/application.conf") ConfigFactory.invalidateCaches()

Таким образом, программа могла читать файл application.conf каждый раз при запуске.

person Srdjan Nikitovic    schedule 19.05.2016