5. Debugging Kyuubi¶
You can use the Java Debug Wire Protocol to debug Kyuubi with your favorite IDE tool, e.g. IntelliJ IDEA.
5.1. Debugging Server¶
We can configure the JDWP agent in KYUUBI_JAVA_OPTS
for debugging.
For example,
KYUUBI_JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 \
bin/kyuubi start
In the IDE, you set the corresponding parameters(host&port) in debug configurations, for example,
5.2. Debugging Apps¶
5.2.1. Spark Engine¶
Spark Driver
spark.driver.extraJavaOptions -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Spark Executor
spark.executor.extraJavaOptions -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
5.2.2. Flink Engine¶
Flink Processes
env.java.opts -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Flink JobManager
env.java.opts.jobmanager -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Flink TaskManager
env.java.opts.taskmanager -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Flink HistoryServer
env.java.opts.historyserver -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Flink Client
env.java.opts.client -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005