Spark应用远程调试
修改spark-class脚本 ,这个脚本在spark安装目录下的bin目录中。
修改最后两行:
done < <("$RUNNER" -cp "$LAUNCH_CLASSPATH" org.apache.spark.launcher.Main "$@")
修改为:
done < <("$RUNNER" -cp "$LAUNCH_CLASSPATH" org.apache.spark.launcher.Main $JAVA_OPTS "$@")
这就要求Spark在执行任务之前将JAVA_OPTS变量考虑进来。我们就可以为应用程序添加JVM参数啦。
修改完成后,在命令行中执行以下命令:
export JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
这就设置好了当前的临时JVM变量。