Я новичок в искры, и я пытаюсь разработать свое первое приложение. Я только пытаюсь подсчитать строки в файле, но я получил ошибку:Spark Java Application no core и ожидания
2015-11-28 10:21:34 WARN TaskSchedulerImpl:71 - Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
У меня достаточно ядер и хватает памяти. Я читал, что это проблема межсетевого экрана, но я получаю эту ошибку как на своем сервере, так и на моем macbook, и наверняка на macbook нет брандмауэра. Если я открываю UI это говорит о том, что приложение ожидает и, видимо, приложение не получает ни одного ядра на всех:
Application ID Name Cores Memory per Node State
app-20151128102116-0002 (kill) New app 0 1024.0 MB WAITING
Мой код очень прост:
SparkConf sparkConf = new SparkConf().setAppName(new String("New app"));
sparkConf.setMaster("spark://MacBook-Air.local:7077");
JavaRDD<String> textFile = sc.textFile("/Users/mattiazeni/Desktop/test.csv.bz2");
if(logger.isInfoEnabled()){
logger.info(textFile.count());
}
если я пытаюсь запустить тот же программа из оболочки в scala работает отлично.
Любое предложение?
Как насчет использования Scala? Это отличный язык. У вас достаточно ОЗУ? – Reactormonk
Этот код будет встроен в основное приложение, которое находится на Java, поэтому я не могу использовать Scala. О RAM, я достаточно уверен на сервере, 16 ГБ и 8 ГБ на macbook. – phcaze
Что такое соответствующий код Scala? Кроме того, вы можете комбинировать Java и Scala-код с sbt (или maven) просто отлично. – Reactormonk