Spark UI показывает 0 ядер даже при настройке ядер в приложении
У меня возникла странная проблема с запуском приложения из основного URL-адреса Spark, когда пользовательский интерфейс неопределенно сообщает «СОСТОЯНИЕ» «ОЖИДАНИЯ», так как в таблице RUNNING APPLICATIONs отображаются 0 ядер, независимо от того, для чего настроен счетчик ядер быть.
Я настроил мое приложение со следующими настройками, где spark.max.cores = 2 & spark.default.cores = 2 и память установлены на 3 ГБ. Машина представляет собой сервер корпоративного класса с более чем 24 ядрами.
SparkConf conf = new SparkConf()
.setAppName(Properties.getString("SparkAppName"))
.setMaster(Properties.getString("SparkMasterUrl"))
.set("spark.executor.memory", Properties.getString("SparkExecMem"))
.set("spark.cores.max",Properties.getString("SparkCores"))
.set("spark.driver.memory",Properties.getString("SparkDriverMem"))
.set("spark.eventLog.enabled", "true")
.set("spark.deploy.defaultCores",Properties.getString("SparkDefaultCores"));
//Set Spark context
JavaSparkContext sc = new JavaSparkContext(conf);
JavaStreamingContext jssc = new JavaStreamingContext(sc, new Duration(5000));
Spark WebUI сообщает, что не используется ни одно ядро, и в течение неопределенного времени не выполняется никаких задач. Приложение также использует NO MEMORY вообще во время выполнения или ядра и сразу же переходит в состояние ожидания при запуске.
Spark-defaults.conf
spark.yarn.max_executor.failures 3
spark.yarn.applicationMaster.waitTries 10
spark.history.kerberos.keytab none
spark.yarn.preserve.staging.files False
spark.yarn.submit.file.replication 3
spark.history.kerberos.principal none
spark.yarn.historyServer.address {removed}.{removed}.com:18080
spark.yarn.scheduler.heartbeat.interval-ms 5000
spark.yarn.queue default
spark.yarn.containerLauncherMaxThreads 25
spark.yarn.driver.memoryOverhead 384
spark.history.ui.port 18080
spark.yarn.services org.apache.spark.deploy.yarn.history.YarnHistoryService
spark.yarn.max.executor.failures 3
spark.driver.extraJavaOptions -Dhdp.version=2.2.6.0-2800
spark.history.provider org.apache.spark.deploy.yarn.history.YarnHistoryProvider
spark.yarn.am.extraJavaOptions -Dhdp.version=2.2.6.0-2800
spark.yarn.executor.memoryOverhead 384
Отправить скрипт
spark-submit --class {removed}.{removed}.{removed}.sentiment.MainApp --deploy-mode client /path/to/jar
ИЗДАНО: 3/3/2016 После запуска с --master yarn-cluster я получаю сообщение об ошибке в журналах пряжи. Я также включил мою обновленную конфигурацию отправки
Отправить конфигурацию
spark-submit --class com.removed.removed.sentiment.MainApp
--master yarn-cluster --supervise
/data04/dev/removed/spark/twitternpi/npi.sentiment-1.0-SNAPSHOT-shaded.jar
--jars /usr/hdp/2.2.6.0-2800/spark/lib/datanucleus-core-3.2.10.jar,/usr/hdp/2.2.6.0-2800/spark/lib/datanucleus-api-jdo-3.2.6.jar,/usr/hdp/2.2.6.0-2800/spark/lib/datanucleus-rdbms-3.2.9.jar,/usr/hdp/2.2.6.0-2800/spark/lib/spark-1.2.1.2.2.6.0-2800-yarn-shuffle.jar,/usr/hdp/2.2.6.0-2800/spark/lib/spark-assembly-1.2.1.2.2.6.0-2800-hadoop2.6.0.2.2.6.0-2800.jar
Сообщение об ошибке
ClassLoaderResolver for class "" gave error on creation : {1}
org.datanucleus.exceptions.NucleusUserException: ClassLoaderResolver for class "" gave error on creation : {1}
at org.datanucleus.NucleusContext.getClassLoaderResolver(NucleusContext.java:1087)
at org.datanucleus.PersistenceConfiguration.validatePropertyValue(PersistenceConfiguration.java:797)
at org.datanucleus.PersistenceConfiguration.setProperty(PersistenceConfiguration.java:714)
at org.datanucleus.PersistenceConfiguration.setPersistenceProperties(PersistenceConfiguration.java:693)
at org.datanucleus.NucleusContext.<init>(NucleusContext.java:273)
at org.datanucleus.NucleusContext.<init>(NucleusContext.java:247)
at org.datanucleus.NucleusContext.<init>(NucleusContext.java:225)