Eclipse远程调试HDP源代码
使用的是自己编译的HDP2.3.0的源代码编译的集群,此文介绍如何使用Eclipse远程调试Hadoop内核源代码,以调试namenode为例进行介绍。
在/usr/hdp/2.3.0.0-2557/hadoop-hdfs/bin/hdfs.distro 目录下,添加如下内容,这个内容是让namenode在启动的时候,打开调试模式:
图片中的代码是(不要写错了):
HADOOP_OPTS="$HADOOP_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8002,server=y,suspend=n"
然后使用脚本启动namenode进程:
[root@n124 sbin]# ./hadoop-daemon.sh --script hdfs start namenode starting namenode, logging to /var/log/hadoop/root/hadoop-root-namenode-n124.ccsdp.com.out Listening for transport dt_socket at address: 8002 [root@n124 sbin]# jps 7635 NameNode 7744 Jps 1944 AmbariServer [root@n124 sbin]# pwd /usr/hdp/2.3.0.0-2557/hadoop/sbin
这样设置以后,NameNode这个进程会监听两个端口,其中一个就是8002,如下图:
Eclipse中的设置如下,Debug-> Debug configurations->Remote Java Application
在eclipse中,如下位置打一个端点:
设置好Eclipse后,在shell中,使用命令行在hdfs中创建一个文件夹:
[root@n124 sbin]# hadoop fs -mkdir /user/root/zhangchao
可以看到Eclipse中的代码进入调试模式,然后就可以一步一步的进行调试,查看到每一步运行的情况:
调试的过程中,将Eclipse的进程优先级设置成Very high,可以让Eclipse的反映快不少,如果用默认的优先级,Eclipse将会非常卡:
在调试的过程中,发现ipc/Server.java这个文件中的,run方法,会不断的监听来自datanode的心跳数据,这个地方如果打上端点,会不断的被中断:
在Shell上,创建一个目录 hadoop fs -mkdir /user/zhangchao/32,然后可以在调试的过程中,发现ClientProtocol.mkdirs从客户端传递到server:
转载于:https://www.cnblogs.com/justinzhang/p/5301140.html
Eclipse远程调试HDP源代码相关推荐
- 使用 Eclipse 远程调试 Java 应用程序
转载地址:使用 Eclipse 远程调试 Java 应用程序 远程调试对应用程序开发十分有用.例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序 ...
- ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源
ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源 如此提示是由于没有JAR包中找不到MAIN,可以手动添加或自己修改 利用ECLIPSE填写JAR中的MAIN方法后,就可以调 ...
- Spring Boot 实用开发技巧————Eclipse 远程调试
引言 在之前的开发当中,都会进行本地项目启动,然后向本地服务发起请求来进行 Debug 调试代码,这也是开发人员最常见的调试操作.但是当项目逐渐成型,慢慢的将各个模块部署到服务器后,调试的手段可能就仅 ...
- Eclipse远程调试Java代码的三种方法
Eclipse远程调试Java代码的三种方法, 第1种方法是用来调试已经启动的Java程序,Eclipse可以随时连接到远程Java程序进行调试, 第2种方法可以调试Java程序启动过程,但是Ecli ...
- 用Eclipse远程调试部署在Tomcat下的Web应用程序
今天同事告诉了我一个用Eclipse远程调试部署在Tomcat下的Web应用程序的方法: 安装解压版本的Tomcat,因为现在好像Tomcat的Windows安装版目录下没有catalina.sh(. ...
- eclipse远程调试两种模式
2019独角兽企业重金招聘Python工程师标准>>> eclipse远程调试两种模式: 一.服务端监听 (1)服务器端需执行程序前加参数 -Xdebug -Xrunjdwp:tr ...
- eclipse远程调试jar包
eclipse如何进行远程调试? 1.启动jar包,带上如下参数执行 java -Xdebug -Xrunjdwp:transport=dt_socket,address=8080,server=y, ...
- eclipse 远程调试java_Eclipse远程调试Java代码的三种方法
Eclipse远程调试Java代码的三种方法, 第1种方法是用来调试已经启动的Java程序,Eclipse可以随时连接到远程Java程序进行调试, 第2种方法可以调试Java程序启动过程,但是Ecli ...
- eclipse远程调试失败
客户端和服务器端在安装配置好JDK,实现JPDA的远程调试,但是我尝试了5天一直不能正常访问实现. 现状: 1.本地调试没有问题,内网调试可以进行(证明调试方法正确) 2.通过示例程序得到服务器端口能 ...
最新文章
- 公开课报名 | 深入浅出理解A3C强化学习
- win10双屏让任务栏显示不相同的方法
- Android nDrawer
- 地图自定义编码CSV转换成ini文件
- oracle转64编码,[转]将oracle数据库的编码变成utf-8
- 乌班图linux配置yum仓库,Linux系统的仓库配置(yum、epel)与软件安装(wireshark,wget,nginx)...
- 使用Hadoop Streaming 完成MapReduce(Python代码)
- python制作文本编辑器_Python小实战:制作文本编辑器
- 基于阿里云数加MaxCompute的企业大数据仓库架构建设思路
- day5 JavaEE实战班
- 数组的冒泡排序快速上手
- EM从最大似然到EM算法浅解
- MPEG-2码流结构分析
- PAT 乙级A1025 适合当算法入门练习题做
- nmap命令的安装及用法
- Linux基础学习记录
- LoadRunner教程(7)-LoadRunner 创建测试场景
- 【电源科普】负载调整率
- pos机v1,简单pos机
- Google Sheet 学习笔记
热门文章
- 踩内存是什么意思啊_面试|搬了这么久的砖,居然还不知道什么“踩内存”
- 英雄联盟更新后服务器还在维护吗,英雄联盟今天维护到什么时候结束 11月12日停机更新维护公告...
- 【CMD】复制并覆盖目标文件
- 脚本启动Tomcat
- linux 检测远程端口是否打开---nmap命令
- 公务员考试中的计算机知识点,2021年度公务员考试计算机基础知识试题.doc
- java获取数据库MetaData
- java序列化如何实现_Java实现序列化与反序列化的简单示例
- linux如何在a休息时运行b,Linux下如何优雅地修正命令?
- 中psr_典型电路—电容10UF 和0.1UF并联使用的技巧常见于电源电路中,你知道其中的原理吗?...