gpt4 book ai didi

java - 使用 -agentlib :jdwp doesn't suspend 进行 Spark 提交

转载 作者:行者123 更新时间:2023-12-01 18:13:42 24 4
gpt4 key购买 nike

我读到了 How to debug Spark application locally? 的回答,这是我的情况:win10 + Spark 2.3.2(使用mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -Phive -Phive-thriftserver -DskipTests clean package编译),来自docker的hadoop集群,我使用cmd在spark的bin目录中执行命令:

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

不幸的是,“正在监听地址:5005处的传输dt_socket”没有出现,它通过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

那么我错过了什么?

最佳答案

我提到的答案并不完整:“--conf spark.driver.extraJavaOptions=-agentlib:jdwp..”仅适用于客户端模式(至少在spark 2.3.2中)。
如果你仔细看我的问题:传递给spark-submit的--conf参数也显示为java命令中的--conf参数。需要追加

-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 也会接收到此信息。

关于java - 使用 -agentlib :jdwp doesn't suspend 进行 Spark 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60415675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com