Hadoop远程调试
发布日期:2021-06-29 12:24:04 浏览次数:2 分类:技术文章

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

Hadoop远程调试

Sun Microsystem 的 Java Platform Debugger Architecture (JPDA) 技术是一个多层架构,使您能够在各种环境中轻松调试 Java 应用程序。JPDA 由两个接口(分别是 JVM Tool Interface 和 JDI)、一个协议(Java Debug Wire Protocol)和两个用于合并它们的软件组件(后端和前端)组成。它的设计目的是让调试人员在任何环境中都可以进行调试。更详细的介绍,可以参考使用 Eclipse 远程调试 Java 应用程序。

JDWP 设置

JVM本身就支持远程调试,Eclipse也支持JDWP,只需要在各模块的JVM启动时加载以下参数:

  • dt_socket表示使用套接字传输。
  • address=8000 => JVM在8000端口上监听请求,这个设定为一个不冲突的端口即可。
  • server=y => y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。
  • suspend=y => y表示启动的JVM会暂停等待,直到调试器连接上才继续执行。suspend=n,则JVM不会暂停等待。
需要在$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件的最后添加你想debug的进程:
#远程调试namenodeexport HADOOP_NAMENODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=8888,server=y,suspend=y"#远程调试datanodeexport HADOOP_DATANODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=9888,server=y,suspend=y"#远程调试RMexport YARN_RESOURCEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=10888,server=y,suspend=y"#远程调试NMexport YARN_NODEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=10888,server=y,suspend=y"

转载地址:https://buildupchao.blog.csdn.net/article/details/78088287 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring MVC源码分析—Servlet解析
下一篇:MapReduce实现分组排序

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月04日 05时07分01秒