You can use the Java Debug Wire Protocol to debug Kyuubi with your favorite IDE tool, e.g. IntelliJ IDEA.
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,
Debugging Engine
We can configure the Kyuubi properties to enable debugging engine.
Flink Engine
kyuubi.engine.flink.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Trino Engine
kyuubi.engine.trino.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Hive Engine
kyuubi.engine.hive.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Debugging Apps
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
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