spark-submit --status с мастером mesos ничего не возвращает - PullRequest
0 голосов
/ 03 октября 2018

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

spark-submit --master mesos://<ip>:7077 --status "driver-...-..."

Выход из 0 без регистрации, независимо от того, какой драйверstatus is.

Я знаю, что он что-то делает правильно, так как, если я запускаю команду с неверным ip / портом mesos, я получаю

Exception in thread "main" org.apache.spark.deploy.rest.SubmitRestConnectionException: Unable to connect to server
at org.apache.spark.deploy.rest.RestSubmissionClient$$anonfun$requestSubmissionStatus$3.apply(RestSubmissionClient.scala:165)

, и если я запускаю с недопустимымидентификатор отправки, я получаю

2018-10-02 18:47:01 ERROR RestSubmissionClient:70 - Error: Server responded with message of unexpected type SubmissionStatusResponse.

Есть идеи, почему spark-submit --status ничего не возвращает?

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Не уверен, какую версию spark вы используете.Мое расследование основано на спарк-2.4.0.Описанное поведение действительно как для искровых автономных , так и mesos целей развертывания.

org.apache.spark.deploy.rest.RestSubmissionClient используется в качестве обработчика для запросов на отправку остальных запросов и программно использует Уровень INFO для регистрации ответа.

org.apache.spark.deploy.SparkSubmit используется в качестве основного класса при вызове spark-submit , а его регистратор является корневым регистратором верхнего уровня для всех остальных регистраторов.

Программно, если определенный логгер для SparkSubmit не установлен в conf / log4j.properties (то же самое сохраняется, когда этот файл отсутствует) уровень по умолчанию установлен на WARN .

Далее, при отсутствии специального регистратора для RestSubmissionClient он получает уровень своего корневого регистратора, равный SparkSubmit logger.

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

Чтобы иметь возможность просматривать журналы для оставшихся заявок, вы можете настроить $ {SPARK_HOME} /conf/log4j.properties с помощью либоlog4j.logger.org.apache.spark.deploy.rest.RestSubmissionClient=INFO или log4j.logger.org.apache.spark.deploy.rest=INFO для других классов в этом пакете.

0 голосов
/ 09 октября 2018

Я нашел обходной путь, обратившись непосредственно к API диспетчера:

curl -s "http://$DISPATCHER/v1/submissions/status/$SUBMISSION_ID"

Все еще нет ясного ответа, почему spark-submit --status не ведет себя так, как задокументировано.

...