在eclipse下远程调试hadoop2.0
在《在eclipse下编译hadoop2.0源码》一文中,我详细介绍了如何在eclipse环境和命令行环境下编译hadoop2.0源代码,并简单介绍了如何构建hadoop环境,这篇文章将着重介绍如何在eclipse下调试源代码。
在hadoop2.0中,常用的模块有NameNode,DataNode, ResourceManager, NodeManager, FsShell等。这里我们以调试FsShell和NameNode模块为例。
FsShell命令调试:
FsShell命令是hadoop的Client端(任何hadoop集群上的节点都可以作为Client端)访问hadoop集群的最基本方式。比如 bin/hadoop fs 命令就是客户端访问hadoop文件系统的命令集。我们以bin/hadoop fs -ls / (显示hadoop文件系统根目录下的文件)为例。
- 在Client节点上的hadoop目录下找到文件bin/hadoop。打开这个脚本,找到如下图所在位置
- 改成如下图所示:
- 注意suspent设置为y表示暂停等待,知道调试器(这里是用eclipse中的调试)连接上才继续执行, address=8000表示在8000端口监听请求,也可以换成其他不冲突的端口。
因为调试的FsShell需要hadoop运行时环境,所以首先应当启动hadoop集群。启动过程这里不做介绍,启动成功以后,我们在Client端输入命令, 会显示如下图所示的信息:
这就表示调试环境已经建好并在8000端口开始监听调试请求。下面是在eclipse开始调试的步骤
- 打开eclipse并找到hadoop-common(上一篇博客介绍了如何将hadoop导入到eclipse中)
- 在hadoop-common找到文件FsShell.java文件并打开
- 找到FsShell中的main函数,并在main函数第一行处设置断点。
- 右键改文件,选择Debug As -> Debug Configurations... 弹出配置对话框
- 在左侧找到并双击Remote Application,这时会新建一个配置页,主机填Client端对应的IP地址,端口为8000,如下图
- 点击Debug,现在,你就可以调试刚刚输入的命令了,跟踪该条命令的执行过程。
NameNode调试:
NameNode调试和上面的调试步骤基本类似,下面只做简单的介绍。
- 调试NameNode需要修改NameNode所在节点的bin/hdfs文件,修改如下:
改为
其中,suspend=n,如果设置为y,则可以调试NameNode的启动过程。
- 启动NameNode
- 调试NameNode的入口在hadoop-hdfs项目的NameNode.java文件中,找到main函数,并设置断点
- 同FsShell一样,新建一个Remote Application,填入的主机为NameNode节点所在的IP,端口为8000
- 点击Debug,调试就可以开始了。
关于eclipse调试hadoop2.0的内容就介绍到这里。现在我们就可以利用调试跟踪hadoop的执行流程,更深入的分析hadoop源代码。 最后甚至可以修改hadoop源代码,加入自己需要的功能。
本文来自博客园,如果查看原文请点击 http://www.cnblogs.com/meibenjin/p/3175679.html
在eclipse下远程调试hadoop2.0的更多相关文章
- 在Eclipse下远程调试Beagleboneblack
安装调试器 1. gdbserver 2. gdb-multiarch 建立工程 新建一个cpp工程,ToolChains选择Cross GCC 这里使用的是arm-linux-gnueabihf-的 ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- [转载]eclipse的远程调试功能配置
原文地址:eclipse的远程调试功能配置作者:我的 用途:web应用部署并运行于外部(区别于eclipse环境中启动的)应用服务器中,当出现问题时,可以使用eclipse工程的源代码进行跟踪调试. ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
- 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...
- Window下Eclipse+Tomcat远程调试
需求: 项目在开发环境跑得好好的,但是当发布到服务器上时,却出现了一些意外的问题.服务器上不可能给你装IDE调试工具啊,又没有很好的日志帮助下,这时候就用到了JVM的Java Platfo ...
- 【Java】使用Eclipse进行远程调试,Linux下开启远程调试
原博地址:http://blog.csdn.net/dfdsggdgg/article/details/50730311 1.center下,在startup.sh文件首行中添加如下语句 declar ...
- 【Java】使用Eclipse进行远程调试,Windows下开启远程调试
原博链接:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可 ...
- 使用Eclipse进行远程调试(转)
做开发好多年了,Debug大家肯定都不陌生,绝对称得上是家常便饭了.博主虽不敢妄下断言,但是这里也猜一下,肯定有很多人都没有使用过Remote Debug(远程调试).说来惭愧,博主也是工作了3年才用 ...
随机推荐
- 用sed、awk、grep同时匹配多个条件(与模式、或模式)
同时匹配ABC 和 123:sed -n '/ABC/{/123/p}' awk '/ABC/&&/123/{ print $0 }' grep -E '(ABC.*123|123.* ...
- 文字和表单(checkbox/radio)元素垂直对齐方法,兼容Firefox和IE。
这几天在做表单时总会碰到复选框(checkbox)和单选框(radio)与文字不对齐的问题,要不是checkbox上浮了,要不是文字上浮.在前端开发过程中,单(复)选框和它们后面的提示文字在不进行任何 ...
- Java线程(学习整理)--4---一个简单的生产者、消费者模型
1.简单的小例子: 下面这个例子主要观察的是: 一个对象的wait()和notify()使用情况! 当一个对象调用了wait(),那么当前掌握该对象锁标记的线程,就会让出CPU的使用权,转而进入该对 ...
- SGU 122.The book (哈密顿回路)
题目描述 有一群人从1到N标号,而且这群人中每个人的朋友个数不少于 (N+1)/2 个. 编号为1的人有一本其他人都想阅读的书. 写一个程序,找到一种传阅顺序使得书本只经过每个人手中一次,并且一个人只 ...
- C# winform 右下角弹窗
[DllImport("user32")] private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, in ...
- 简单概述 .NET Framework 各版本区别
目前已发行的版本有1.0.1.1.2.0.3.0.3.5.4.0.4.5(及4.5.1.4.5.2).4.6(及4.6.1). 1.0版本:最初的.net framework版本,作为一个独立的工具包 ...
- 响应式设计的5个CSS实用技巧
正如我在教程响应式Web设计三步走当中所讲的,响应式的Web设计其实并不难,但是要让元素在布局切换时能够平滑过渡就比较考验技巧了.现在我分享在编码时常用的五个CSS技巧并举例说明.这些技巧都是使用简单 ...
- 缓存淘汰算法---LRU
1. LRU1.1. 原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”. ...
- windows系统安装ubuntu后,grub中没有windows启动项
我的问题: 安装系统时候,选择grub安装在sdb磁盘 http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=474289&start=15 ...
- Redmine配置
官网步骤说明 http://www.redmine.org/projects/redmine/wiki/RedmineInstall 搭环境 1.MySql 2.RailsInstaller:Redm ...