博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
远程调试Hadoop(转)
阅读量:6582 次
发布时间:2019-06-24

本文共 894 字,大约阅读时间需要 2 分钟。

试了一下,如果Hadoop是本地的话启动hadoop会报错。

 

在调研JobTracker等异常问题时经常需要远程debug以实现单步跟踪。相对于打印日志,远程调试更方面更快捷,信息也更全面。这里列出远程调试的基本步骤。

1、配置jvm选项启用远程debug

Hadoop的所有deamon启动都是bin/hadoop脚本实现的,该脚本最后一行会执行java命令来启动JVM进程。因此要启用远程debug,只需要修改该脚本最后一行即可。

修改前最后一行如下:

exec "$JAVA" $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

修改之后最后一行如下:

exec "$JAVA" -Xdebug -Xrunjdwp:transport=dt_socket,address=50010,server=y,suspend=n $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

这里新增的jvm参数为:

-Xdebug -Xrunjdwp:transport=dt_socket,address=50010,server=y,suspend=n

这些参数的含义是在端口50070启动一个server socket并通过Java Debug Wire Protocol (jdwp)传递调试信息。suspend=n表示客户端(eclipse)没有连上时不需要挂起,即没有开始调试时该进程照常运行。

需要注意的是这里的端口号一定要是空闲的且对外开放的。通常生产机器只开通了少量端口。

2、配置eclipse来远程调试

a、启动eclipse

b、点击菜单的 Go to Run -> Debug Configurations

c、在配置界面上找到Remote Java Application然后右键新建一个

d、配置远程应用的链接信息

这里主要是填好主机名及端口号。

f、最后一步点击 Apply保持配置然后点击Debug即可开始远程调试了

注意的是调试要选用Debug perspective微笑
你可能感兴趣的文章
java核心技术反射
查看>>
LAMP,安装脚本
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
易语言 --什么情况下 用许可证
查看>>
建属于自己的网站
查看>>
boost库之智能指针
查看>>
我的友情链接
查看>>
自定义View Client 登录方式(一)
查看>>
我的友情链接
查看>>
我来自CSDN
查看>>
在mysql表中插入大量测试数据
查看>>
怎么给电脑设置IP地址和DNS地址,各系统设置IP/DNS几种方法
查看>>
必 备 习 题 集 (一)
查看>>
转:模态对话框的支持 (IE,Firefox,Chrome)
查看>>
3518EV200 SDK学习1
查看>>
1163: 零起点学算法70——Yes,I can!
查看>>
关于图片或者文件在数据库的存储方式归纳
查看>>
ADO.NET笔记——使用DataSet返回数据
查看>>
Python脚本日志系统
查看>>
RowSet的使用
查看>>