远程DEBUG HADOOP源码方法

南墨3年前技术文章802

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实操--客户端安装

CDH实操--客户端安装

概述安装CDH客户端,主要是方便在CDH部署节点以外,通过客户端的方式连接CDH上的hdfs,hive和hbase服务1、安装jdk(适配CDH即可,一般1.8)2、获取安装包3、部署安装包把安装包解...

HDP部署Tez UI

HDP部署Tez UI

首先部署tomcat在官网下载apache-tomcat-9.0.22.tar.gz[root@hdp02 opt]# wget https://archive.apache.org/dist/tom...

大数据高可用系列--kudu高可用应急方案

大数据高可用系列--kudu高可用应急方案

1 设置机架感知1.1 前置说明    1.9版本后的kudu已经支持机架感知(cdh6之后的版本中的kudu已支持),由于kudu的每个Tablet一般是三副...

HBase使用snappy压缩

HBase使用snappy压缩

安装编译环境依赖yum install -y automake autoconf gcc-c++ cmake libedit libtool openssl-devel ncurses-devel安装...

ES运维(八)添加IK分词器

ES运维(八)添加IK分词器

一、概述ES自带standard analyzer、simple analyzer、whitespace analyzer、stop analyzer、language analyzer、patter...

发表评论    

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