2016-10-10 4 views
0

Один из моих узлов в моем кластере Dataproc всегда бездействует при запуске искрового задания. Я попытался удалить и воссоздать кластерный ect. но он всегда имеет один незанятый узел.Google Dataproc node idle

Причина, кажется, указывают эти три строки из журнала, которые приходят через каждые несколько секунд:

Trying to fulfill reservation for application application_1476080745886_0001 on node: cluster-4-w-0.c.xxxx.internal:39080 
Reserved container application=application_1476080745886_0001 resource=<memory:4608, vCores:1> queue=default: capacity=1.0, absoluteCapacity=1.0, usedResources=<memory:25600, vCores:6>, usedCapacity=0.90909094, absoluteUsedCapacity=0.90909094, numApps=1, numContainers=6 usedCapacity=0.90909094 absoluteUsedCapacity=0.90909094 used=<memory:25600, vCores:6> cluster=<memory:28160, vCores:40> 
Skipping scheduling since node cluster-4-w-0.c.xxxx.internal:39080 is reserved by application appattempt_1476080745886_0001_000001 

Узел кластера 4-ш-0.c.xxxx.internal является праздным. Почему узел зарезервирован appattempt_1476080745886_0001_000001 и неприменим как исполнитель?

ответ

3

Поскольку попытка приложения совпадает с идентификатором приложения вашего приложения Spark, я считаю, что попытка приложения - это приложение YARN AppMaster от Spark. По умолчанию Spark AppMasters имеют (несколько избыточный) тот же самый след, что и Executors (половина узла). Таким образом, по умолчанию потребляется половина рабочего.

Если вы не изменили конфигурацию памяти, я не уверен, почему на этом узле не было бы хотя бы одного исполнителя. В любом случае вы можете уменьшить AppMaster, уменьшив spark.yarn.am.cores and spark.yarn.am.memory.

Вы можете лучше отлаживать упаковку контейнера SSHing в кластер и запускать yarn application -list или переходить на ResourceManager's WebUI.

+0

Отлично, да, я установил память исполнителей более чем на половину памяти, поэтому два исполнителя не будут помещаться на узле. –

Смежные вопросы