您的位置:首页 > 运维架构

Hadoop分布式程序的调试方法

2009-08-03 11:42 405 查看


C++沉思录+C专家编程+C和指针
39.0元


了解一个系统的内部,我觉得最好的办法只有两个:

1.

找系统的开发设计者仔仔细细的问,

2.

自己跟踪调试系统。

估计要找到

cutting

详细聊不太可能,那只有第二个办法可以采用了,呵呵。而且当

hadoop

出现一些莫名问题的时候,跟踪调试程序也是最后的无奈选择。

工欲善其事,必先利其器。我选择的工具和环境配置如下:

1.

开发机

OS linux (X

选择

gnome

或者

kde

都可以

)

2.

远程控制软件

tightvnc

客户端和服务器端

3.

开发调试

IDE

工具

Eclipse



vim

其实要调试

hadoop

分布式程序和进行

java

远程调试是一样的,为什么呢?因为他们就是一回事儿,哈哈!

1.

启动

Eclipse

,将

hadoop

程序装载到工程里面

2.

修改

bin/hadoop

代码加入

java

远程调试选项:

HADOOP_OPTS="$HADOOP_OPTS $HADOOP_TASKTRACKER_OPTS

-agentlib:jdwp=transport=dt_socket,address=xxxx,server=y,suspend=y"

假设我们要调试

jobtracker

的代码,我们将

bin/hadoop

代码修改如下

:

elif [ "$COMMAND" = "tasktracker" ] ; then

CLASS=org.apache.hadoop.mapred.TaskTracker

HADOOP_OPTS="$HADOOP_OPTS $HADOOP_TASKTRACKER_OPTS -agentlib:jdwp=transport=dt_socket, address=8083, server=y, suspend=y"

3.

启动

hadoop

4.

Eclipse

里面跟踪调试

a)



Debug configuration

里面新建一个

Java Remote Application

b)

设置断点

c)

启动分布式任务

d)

这个时候任务就会你设置的断点处,停下来让你进行接下来的调试跟踪
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐