使用jdwp 调试dremio

参考图

 

 

 

环境准备

核心是对于dremio 启动的时候开启jdwp 协议,对于本地ide 创建一个java maven 项目,添加依赖包(直接本地,添加dremio 安装包里边的jar 就行)
我基于容器进行运行

  • 配置
    /opt/dremio/conf/dremio-env 文件,我同时开启了jprofiler
 
DREMIO_JAVA_SERVER_EXTRA_OPTS="-agentpath:/opt/jprofiler13/bin/linux-x64/libjprofilerti.so=port=8849,nowait -agentlib:jdwp=transport=dt_socket,address=9090,server=y,suspend=n"
  • java 项目

我主要是为了测试jdbc-ce plugin 如下,具体可以自己调整

 

 

 

  • 配置java 远程调试

比较简单,如果有问题可以参考网上资料

 

 

 

测试效果

如下图,实际会和需要调整的东西不一样

 

 

一种安全玩法

  • 参考图

基于rinetd proxy 进行ip 安全控制

 

 

说明

以上是一个方便调试dremio 的一种模式,可以方便大家学习dremio 的内部机制,同时官方也是提供了源码以及包含了测试包的,也是一种方法
注意实际生产使用控制好安全以及别随意调试,不然影响系统运行(调试的时候执行会卡住)

参考资料

https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/introclientissues005.html

posted on 2022-12-03 22:14  荣锋亮  阅读(81)  评论(0编辑  收藏  举报

导航