### _Why are the changes needed?_ Guidelines for Document and Code Contributions. - code style - documentation style - quick starts - sphinx-copybutton for copy button in code blocks - add kind:minor,help wanted,good first issue to doc issue template ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [x] Add screenshots for manual tests if appropriate <img width="1325" alt="image" src="https://user-images.githubusercontent.com/8326978/234193368-473e2a1d-2deb-4d91-901a-19cea58a489b.png"> - [x] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4768 from yaooqinn/guide. Closes #4768 3a0bd395b [Kent Yao] Update docs/contributing/doc/build.rst 8fe4f6d14 [Kent Yao] Update docs/contributing/doc/build.rst a753bdde5 [Kent Yao] Guidelines for Document and Code contributions f8393fe8d [Kent Yao] Guidelines for Document and Code contributions 8f2d3ce82 [Kent Yao] Guidelines for Document and Code contributions 4f3a2128b [Kent Yao] Guidelines for Document and Code contributions Authored-by: Kent Yao <yao@apache.org> Signed-off-by: Cheng Pan <chengpan@apache.org>
112 lines
2.7 KiB
Markdown
112 lines
2.7 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.
|
|
-->
|
|
|
|
# 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>
|
|
|
|

|
|
|
|
</div>
|
|
|
|
## Debugging Engine
|
|
|
|
We can configure the Kyuubi properties to enable debugging engine.
|
|
|
|
### Flink Engine
|
|
|
|
```bash
|
|
kyuubi.engine.flink.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
|
|
```
|
|
|
|
### Trino Engine
|
|
|
|
```bash
|
|
kyuubi.engine.trino.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
|
|
```
|
|
|
|
### Hive Engine
|
|
|
|
```bash
|
|
kyuubi.engine.hive.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
|
|
```
|
|
|
|
## 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
|
|
```
|
|
|