kyuubi/docs/develop_tools/debugging.md
SteNicholas 2486c5dff3
[KYUUBI #2089] Add debugging instructions for Flink engine
### _Why are the changes needed?_

Add debugging instructions for Flink engine.

### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [x] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #2098 from SteNicholas/KYUUBI-2089.

Closes #2089

08189b85 [SteNicholas] [KYUUBI #2089] Add debugging instructions for flink engine

Authored-by: SteNicholas <programgeek@163.com>
Signed-off-by: Kent Yao <yao@apache.org>
2022-03-11 10:21:20 +08:00

93 lines
2.3 KiB
Markdown

<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->
<div align=center>
![](../imgs/kyuubi_logo.png)
</div>
# Debugging Kyuubi
You can use the [Java Debug Wire Protocol](https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/conninv.html#Plugin) 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,
```bash
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,
<div align=center>
![](../imgs/idea_debug.png)
</div>
## Debugging Apps
### Spark Engine
- Spark Driver
```bash
spark.driver.extraJavaOptions -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
```
- Spark Executor
```bash
spark.executor.extraJavaOptions -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
```
### Flink Engine
- Flink Processes
```bash
env.java.opts -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
```
- Flink JobManager
```bash
env.java.opts.jobmanager -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
```
- Flink TaskManager
```bash
env.java.opts.taskmanager -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
```
- Flink HistoryServer
```bash
env.java.opts.historyserver -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
```
- Flink Client
```bash
env.java.opts.client -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
```