Запуск sparkRM на rapidminer: произошла ошибка при отправке или запуске задания spark
Я работаю с rapidminer для извлечения правил из большого набора данных. Radoop - расширение для экосистемы hadoop, и оператор sparkRM позволяет перейти к росту fp от извлечения данных из улья до исследования. Я работаю над: -windows 8.1 -hadoop 6.2 -spark 1.5 -hive 2.1 Я настроил spark-default-conf следующим образом:
# spark.master yarn
# spark.eventLog.enabled true
# spark.eventLog.dir hdfs://namenode:8021/directory
# spark.serializer org.apache.spark.serializer.KryoSerializer
# spark.driver.memory 2G
# spark.driver.cores 1
# spark.yarn.driver.memoryOverhead 384MB
# spark.yarn.am.memory 1G
# spark.yarn.am.cores 1
# spark.yarn.am.memoryOverhead 384MB
# spark.executor.memory 1G
# spark.executor.instances 1
# spark.executor.cores 1
# spark.yarn.executor.memoryOverhead 384MB
# spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"
XML-файл Yarn-сайта у меня есть:
<property>
<name>yarn.resourcemanager.schedular.address</name>
<value>localhost:8030</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>localhost:8033</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>localhost:8031</value>
</property>
<property>
<name>yarn.resourcemanager.resource.cpu-vcores</name>
<value>2</value>
</property>
<property>
<name>yarn.resourcemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>localhost:8032</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>localhost:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>/E:/tweets/hadoopConf/userlog</value>
<final>true</final>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/E:/tweets/hadoopConf/temp/nm-localdir</value>
</property>
<property>
<name>yarn.nodemanager.delete.debug-delay-sec</name>
<value>600</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-vcores</name>
<value>1</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>3</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value>
/tweets/hadoop/,
/tweets/hadoop/share/hadoop/common/*,
/tweets/hadoop/share/hadoop/common/lib/*,
/tweets/hadoop/share/hadoop/hdfs/*,
/tweets/hadoop/share/hadoop/hdfs/lib/*,
/tweets/hadoop/share/hadoop/mapreduce/*,
/tweets/hadoop/share/hadoop/mapreduce/lib/*,
/tweets/hadoop/share/hadoop/yarn/*,
/tweets/hadoop/share/hadoop/yarn/lib/*
/C:/spark/lib/spark-assembly-1.5.0-hadoop2.6.0.jar
</value>
</property>
</configuration>
Быстрая проверка соединения с Hadoop успешно завершена. когда я запускаю процесс quickminer, он завершается с ошибкой:
Process failed before getting into running state. this indicates that an error occurred during submitting or starting the spark job or writing the process output or the exception to the disc. Please check the logs of the spark job on the YARN Resource Manager interface for more information about the error.
в localhost:8088 У меня есть данные диагностики введите описание изображения здесь
это планировщик задания введите описание изображения здесь
Я новичок в Hadoop и Spark и не могу настроить память эффективным способом.
1 ответ
Это сообщение об ошибке описывает, что переданное задание не смогло выделить требуемые ресурсы кластера (vcore,memory) до истечения времени ожидания, поэтому оно не удалось запустить (скорее всего, было запрошено больше, чем доступно в общем, поэтому в противном случае оно могло бы ждать вечно). Я предположил, основываясь на содержании вашего yarn-site.xml, на котором был развернут кластер localhost
, В этом случае вы можете проверить доступные ресурсы для заданий на пряжу на http://localhost:8088/cluster/scheduler
страница (он же интерфейс YARN Resource Manager). Во время выполнения процесса raoop вы можете проверить соответствующие журналы приложений пряжи / искры для получения дополнительной информации о запрашиваемом количестве и типе ресурсов. С помощью этой информации вы можете точно настроить ваш кластер, возможно, в соответствии с тем, как приложения будут использовать больше ресурсов.
Я также предложил бы просмотреть документы Radoop, чтобы проверить, какое распределение ресурсов подойдет как вашему варианту использования, так и вашей системе. Radoop может выполнять свои искровые задания с использованием различных политик распределения ресурсов. Эти политики описывают способ, которым Radoop может запрашивать ресурсы для выполнения искрового задания от YARN. Отрегулировав этот параметр, вы сможете разместить на стороне кластера доступные ресурсы. Вы можете прочитать больше об этих правилах здесь.