Неиспользованный искровой рабочий - PullRequest
3 голосов
/ 26 марта 2019

Я настроил автономный искровой кластер, подключенный к кластеру Cassandra с 1 главным, 1 подчиненным и Thrift-сервером, который используется в качестве JDBC-коннектора для приложения Tableau.Slave появляется в списке рабочих в любом случае, когда я запускаю любой запросный работник, кажется, не используется в качестве исполнителя (используется 0 ядер).Вся рабочая нагрузка выполняется мастером-исполнителем.Также в веб-консоли Thrift я наблюдаю, что активен только один исполнитель.

В основном я ожидаю, что распределенная рабочая нагрузка на обоих исполнителей кластера спарк достигнет более высокой производительности.

Из основных журналов:

2019-03-26 15:36:52 ИНФОРМАЦИЯ Мастер: 54 - Я избран лидером!Новое состояние: ALIVE 2019-03-26 15:37:00 INFO Master: 54 - Регистрация рабочего IP-адреса работника: 37678 с 16 ядрами, ОЗУ 61,8 ГБ

Из журналов рабочих:

2019-03-26 15:37:00 Информационный работник: 54 - Успешно зарегистрирован с master spark: // master-hostname: 7077

My spark-defaults.conf:

spark.driver.memory=50g
spark.driver.maxResultSize=4g

spark.sql.thriftServer.incrementalCollect=false
spark.sql.shuffle.partition=17
spark.sql.autoBroadcastJoinThreshold=10485760
spark.sql.inMemoryColumnarStorage.compressed=true
spark.sql.inMemoryColumnarStorage.batchSize=10000

spark.cores.max=32
spark.executor.cores=16
spark.memory.offHeap.enabled=true
spark.memory.offHeap.size=1g

pic1 работников

enter image description here

pic2 исполнителей

enter image description here

Любая помощь высоко ценится.

1 Ответ

3 голосов
/ 10 апреля 2019

Когда искра не работает на рабочих, есть несколько основных подозреваемых для устранения.

  1. Видите ли вы работника в веб-интерфейсе?
  2. Позволяет ли брандмауэр передавать фактическую рабочую нагрузку и получать ответ обратно? См. этот существующий ответ для более подробной информации.
  3. Достаточно ли у ведомого свободных ресурсов, чтобы принять работу? Я заметил, что вам требуется 16 ядер, возможно, это больше, чем доступно?
  4. Требуется ли емкость? Рассмотрите возможность параллельной отправки нескольких заданий (для которых требуются исполнители и достаточно малые требования к ресурсам), чтобы не просто «случайно» избежать узла. Продолжайте, пока не увидите, что он действительно не помещается на вашем главном узле.

Если все это не удастся, может понадобиться больше контекста.

  • Вы не делитесь сообщениями об ошибках, разве нет нигде ошибки?
  • Какой тип кластера вы используете (Hadoop, Mesos?)
...