spark-submit с -agentlib: jdwp не приостанавливается - PullRequest
0 голосов
/ 26 февраля 2020

Я читаю ответ от Как локально отлаживать приложение Spark? , вот моя ситуация: win10 + spark 2.3.2 (компиляция с использованием mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -Phive -Phive-thriftserver -DskipTests clean package), кластер имел oop из docker , Я выполняю команду в каталоге bin в spark с помощью cmd:

spark-submit  --name spark-test --class WordCount --master yarn --deploy-mode cluster  --conf spark.driver.extraJavaOptions=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005  d:\dev\spark-test.jar   /data/data.txt

К сожалению, «Прослушивание транспорта dt_socket по адресу: 5005» не появляется, оно прошло через SparkSubmit до появления некоторых исключений. Я проверяю spark-class2.cmd, он на самом деле выполнил:

java -cp "xx" org.apache.spark.deploy.SparkSubmit --master yarn --deploy-mode cluster --conf "spark.driver.extraJavaOptions=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" --class WordCount --name spark-test d:\dev\spark-test.jar /data/data.txt

так чего мне не хватать?

1 Ответ

0 голосов
/ 25 марта 2020

Ответ, который я упомянул, не полный: "- conf spark.driver.extraJavaOptions = -agentlib: jdwp .." только для режима клиента (по крайней мере, в версии 2.3.2).
Если вы внимательно посмотрите на Мой вопрос: параметр --conf, передаваемый в spark-submit, также отображается как параметр --conf в команде java. Необходимо добавить

-agentlib: jdwp = transport = dt_socket, server = y, suspend = y, address = 5005

непосредственно к команде java. Вот мое решение, приведенное ниже в spark-env.cmd (windows):

SET  SPARK_SUBMIT_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

spark подхватит это даже в режиме кластера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...