本帖最后由 howtodown 于 2014-1-16 17:46 编辑
Hadoop2.2.0版本比Hadoop0.x或Hadoop1.x结构变化很大,而且也没有Eclipse-Hadoop插件支持. 本文就Eclipse如何整合Hadoop2.2.0与自己实际操作步骤方法分享给大家,希望对大家有所帮助. JPDA 简介 Sun Microsystem 的 Java Platform Debugger Architecture (JPDA) 技术是一个多层架构,使您能够在各种环境中轻松调试 Java 应用程序。JPDA 由两个接口(分别是 JVM Tool Interface 和 JDI)、一个协议(Java Debug Wire Protocol)和两个用于合并它们的软件组件(后端和前端)组成。它的设计目的是让调试人员在任何环境中都可以进行调试。 JDWP 设置 JVM本身就支持远程调试,Eclipse也支持JDWP,只需要在各模块的JVM启动时加载以下参数: -Xdebug -Xrunjdwp:transport=dt_socket, address=1221,server=y,suspend=y 各参数的含义: -Xdebug
启用调试特性
-Xrunjdwp
启用JDWP实现,包含若干子选项:
transport=dt_socket
JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
address=8000
JVM在8000端口上监听请求,这个设定为一个不冲突的端口即可。
server=y
y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。
suspend=y
y表示启动的JVM会暂停等待,直到调试器连接上才继续执行。suspend=n,则JVM不会暂停等待。 配置mapreduce远程调试 - <property>
- <name>mapred.child.java.opts</name>
- <value>-Xmx800m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1221</value>
- </property>
- <!– 在一个TT,只能启动一个MT或一个RT,否则启动时会有端口冲突 –>
- <property>
- <name>mapred.tasktracker.map.tasks.maximum</name>
- <value>1</value>
- </property>
- <property>
- <name>mapred.tasktracker.reduce.tasks.maximum</name>
- <value>0</value>
- </property>
复制代码
配置yarn远程调试 - export YARN_RESOURCEMANAGER_OPTS=”$YARN_RESOURCEMANAGER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1222″
- export YARN_NODEMANAGER_OPTS=”$YARN_RESOURCEMANAGER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1223″
复制代码
|