Я развертывал пример SparkPi в кластере из 8 узлов. Похоже, что задачи, связанные с этим примером, не развертываются ко всем узлам кластера, хотя кластер недостаточно используется (другие задания не выполняются).Заставить YARN для развертывания задач Spark для всех подчиненных устройств
Вот как я начала SparkPi пример:
spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --driver-memory 1g --executor-memory 1g --executor-cores 1 --num-executors 7 $SPARK_HOME/lib/spark-examples-1.6.1-hadoop2.6.0.jar 100000
Однако, когда я смотрю на какие узлы в настоящее время используются, это то, что я вижу:
У меня есть чувство, что это потому что я использую CapacityScheduler
в диспетчере ресурсов. Вот мой yarn-site.xml
файл:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master.cluster</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master.cluster:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master.cluster:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>0.0.0.0:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master.cluster:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master.cluster:8033</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master.cluster:8033</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value>/usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/*</value>
</property>
<property>
<description>
Number of seconds after an application finishes before the nodemanager's
DeletionService will delete the application's localized file directory
and log directory.
To diagnose Yarn application problems, set this property's value large
enough (for example, to 600 = 10 minutes) to permit examination of these
directories. After changing the property's value, you must restart the
nodemanager in order for it to have an effect.
The roots of Yarn applications' work directories is configurable with
the yarn.nodemanager.local-dirs property (see below), and the roots
of the Yarn applications' log directories is configurable with the
yarn.nodemanager.log-dirs property (see also below).
</description>
<name>yarn.nodemanager.delete.debug-delay-sec</name>
<value>600</value>
</property>
</configuration>
Как я могу настроить НИТИ так, чтобы она развертывает задачи между всеми узлов?
Я на самом деле использую кластер для обучения нейронной сети, и это не производственная система. В этом случае чем больше я могу нажать кластер, тем лучше. Помогает ли это с контекстом? В противном случае, полностью согласен. – crockpotveggies
Как можно больше задач под одним исполнителем.Не знаю базовой программной архитектуры нейронной сети, но я уверен, что она поможет вам в производительности. Если бы это была традиционная искра, я бы сказал, чтобы сказать вам, что ваш сорт и перетасовка будут очень быстрыми. – YoYo