远程DEBUG HADOOP源码方法

南墨3年前技术文章1075

1. 安装IDEA

2. 下载hadoop源码,必须与集群服务代码版本一致,否则会导致有的类无法找到

3. 将源码导入IDEA工程并完成build

4. 点击 菜单栏--运行--编辑配置 进行相关debug设置

1.png

5. 点击弹出窗口右上角的“+”添加一个新配置内容

2.png

6. 选择“远程JVM调试”

      ·.png  

7. 对相关项目进行配置

名称:配置名称--可自定义

调试器模式:选择“附加到远程JVM”

主机:远程服务所在节点IP(此处以hiveserver为例,填写hiverserver所在节点IP)

端口:可自定义(注意:确定此端口在相应节点未被占用并处于对外开放状态)

远程JVM的命令行实参:记录此内容


"-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"

dt_socket表示使用套接字传输。

address=5005

JVM在5005端口上监听请求,这个设定为一个不冲突的端口即可。

server=y

y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。

suspend=y

y表示启动的JVM会暂停等待,直到调试器连接上才继续执行。suspend=n,则JVM不会暂停等待。


1.png

8. 登陆到对应的集群或者相应节点上修改hiveserver的JVM参数,将第7步记录的实参信息添加到JVM参数最后,注意多个参数中间的空格。此处已HDP集群为例

1.png

9. 重启hive服务

10. 在可复现问题堆栈对应的代码块打debug点

11. 登陆hive客户端beeline进行问题复现,此时即可在IDEA中进行相关代码debug


相关文章

CDH实操--集成 freeipa

CDH实操--集成 freeipa

1 概述环境准备: 1)安装cdh6.2.1 2)安装FreeIPA,server和client(在所有cdh节点)2 集成2.1 krb5.conf修改注释:default_ccache_nam...

ranger对接hbase

ranger对接hbase

前提:本文是基于集群中已经部署了ranger组件和hbase组件的情况下,增加ranger对hbase组件的对接。安装部署1、ranger-hbase插件安装使用ranger2.3版本对接插件。将插件...

mysql8 rpm安装教程

1:卸载原有REPO源查询已经存在的mysql及相关依赖包rpm -qa | grep mysql此时你会看到一堆列表,使用 yum 命令依次卸载yum remove mysql-xxx-xxx-xx...

ranger对接metastore

ranger对接metastore

前提:本文前提是基于集群中已经安装部署了ranger组件、hive组件的情况下,增加ranger metastore插件的对接。安装部署1、ranger metastore插件编译插件下载 https...

HBase导出表和备份表操作

HBase导出表和备份表操作

HBase提供了几种导出数据的方式,包括使用HBase自带的工具和使用HBase的API。本文主要是讲的使用HBase自带的工具进行导出首先我们创建一个表 插入一些数据hbase shelllistc...

chengying-6.0登入接口逆向

chengying-6.0登入接口逆向

版本更新首先是登入的加密url:http://172.16.121.70/login参数1. username:admin@dtstack.com2. password:614bb9438210c69...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。