开启flume的远程调试功能

各种组件,比如tomcat、storm、flume,我们都可以通过JMX方式开启远程调试,主要可以用来跟踪源码,了解程序内部的运行机制,其次,也有利于你修改源码。

首先,本质上是要修改flume本身启动的配置文件的jvm配置部分。

找到flume目录下的bin文件夹,下面会有个flume-ng文件,这便是flume本身启动脚本所在,找到如下部分:

# set default params
FLUME_CLASSPATH=""
FLUME_JAVA_LIBRARY_PATH=""
JAVA_OPTS="-Xmx20m"
LD_LIBRARY_PATH=""

可以看到这是配置jvm部分,替换为JMX远程调试配置,这种配置网上很多,我的如下:

# set default params
FLUME_CLASSPATH=""
FLUME_JAVA_LIBRARY_PATH=""
JAVA_OPTS="-Xmx20m -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
LD_LIBRARY_PATH=""

这里设定了远程调试的port:8787。

好了,到了这里,你可以在eclipse里面开启远程调试模式,具体如下:

new一个,然后进行配置,主要是主机IP和上面那个port,如下:

然后,eclipse导入flume源码,尽情享受调试源码的乐趣吧,你也可以随意修改。

PS:源码调试是一个学习源码的快速途径,很多组件,诸如storm,tomcat,hadoop等等都可以这样进行JMX配置,大同小异。

时间: 2024-12-21 12:02:29

开启flume的远程调试功能的相关文章

[转] 在安卓设备上使用 Chrome 远程调试功能

你的网页内容在移动设备上的体验可能和电脑上完全不同.Chrome DevTools 提供了远程调试功能,这让你可以在安卓设备上实时调试开发的内容. 安卓远程调试支持: 在浏览器选项卡中调试网站. 在原生安卓应用中调试网页内容. 将屏幕从你的安卓设备上投影到你的开发机器上. 使用端口转发和虚拟主机映射来让安卓设备访问开发使用的服务器. 需求 要开始远程调试,你需要: 安装 Chrome 32 或者之后的版本. 连接安卓设备用的 USB 线缆. 对于通过浏览器调试:安卓 4.0 以上并且安装了 Ch

利用Eclipse对Flume进行远程调试分析环境搭建

准备工作: 1.到Flume官网下载apache-flume-1.8.0-bin.tar.gz 2.下载代码:https://github.com/javabigdataxin/FlumeExtend 在Flume的conf目录新建一个RollingFileSink.conf文件 a1.sources = r1 a1.sinks = k1 a1.channels = c1   # 配置sources a1.sources.r1.type = netcat a1.sources.r1.bind =

flume远程调试

项目开发的时候,出现问题的时候,通常在IDE里面直接进行调试,但有时候我们可能用的是另外的一些开源框架,甚至运行程序里面没有一行代码是我们自己写的,如果出现一些较复杂的问题,那么我们可能就会用到远程调试.最近正好进行过flume的远程调试,就简单记录一下吧: 如果有远程调试tomcat经历,那就简单了,一样是通过JMX开启远程调试. 找到flume安装目录,进入bin目录,修改启动文件flume-ng,找到: # set default params FLUME_CLASSPATH=""

webservice远程调试开启

在.NET 中已经默认将WEBSERVICE的远程调试功能关闭,有的时候我们需要远程调试程序的时候,就需要打开此功能我们只需在WEBSERVICE的项目的中添web.config的<system.web>配置节下面加一下一段配置就OK了,代码如下: <system.web>        <compilation debug="true" />   <webServices>         <protocols>      

XDEBUG 远程调试

我的PHP环境是安装在虚拟机中.真机系统用的是windows.那么我要用XDEBUG调试代码,就得用XDEBUG的远程调试功能. 首先要给远程环境中安装XDEBUG扩展,具体方法:http://www.cnblogs.com/mysic/p/5993463.html 在配置XDEBUG之前,需要先了解下XDEBUG的工作模式,尤其是远程debug时的方式,XDEBUG是需要先和开发端建立连接,启动会话,然后通过相互间传递参数来实现的..XDEBUG远程调试分两种,一种是单用户,一种是多用户.单用

使用phpstorm和xdebug实现远程调试

使用phpstorm和xdebug实现远程调试 2012-05-23 10:06:35 vs的断点调试功能很强大有木有,能查看所有变量有木有.php调试很麻烦有木有,echo,var_dump写得你想吐了有木有.想体验一下ide调试的快感吗?那就来使用xdebug吧. 1.原理:xdebug是一款php调试插件,支持远程调试,就是在php文件运行的时候,能通过tcp协议,来发送调试信息到远程端口,ide在收到调试信息的时候,可以向xdebug发送单步运行,中止运行,运行等命令.这样就实现了vs那

PHP使用Xdebug进行远程调试

PHP使用Xdebug进行远程调试 翻译 by mylxsw posted on 2014/07/14 under 技术文章 > 编程语言 Xdebug提供了客户端与PHP脚本进行交互的接口,这一章将会介绍如何让PHP和Xdebug开启这个特性,并且介绍一些常用的客户端. 概述 Xdebug(远程)调试器允许测试数据结构,步进并且调试你的代码.Xdebug提供了两种协议用于与其进行交互:在Xdebug1.3和2中旧的GDB协议和Xdebug2中实现的DBGp协议. 客户端 Xdebug2 为DB

使用 桌面的 chrome 远程调试 Android 的页面

手机浏览器是没有开发者工具的,所以调试手机网页是非常麻烦.使用 chrome 的远程调试功能可以像调试桌面端那样调试手机页面. 准备 手机端:chrome for Android, 安装谷歌浏览器 桌面端:谷歌浏览器,版本建议大于手机端的,最好使用 chrome canary USB 连接线, 也就是你充电器的那条线 开启调试模式 使用 USB 连接你的电脑,并开启调试模式. 使用 android 4.2 或以上的手机可能没有调试模式选项,可以找到 “设置 > 关于手机 > 版本号(Build

VS2010远程调试你的程序vc++/wpf/C#/MFC

VS2010远程调试你的程序vc++/wpf/C#/MFC 1 背景说明 在进行设备控制软件开发的时候,需要进行设备的上机调试.我们在安装了工作环境(VS2010+Access+流程图等软件)的电脑上编码写好待调试的软件之后,待机器零配件和电气安装好之后,再在设备上进行调试,这个时候,设备会自带自己的工控电脑,这个工控电脑没有安装代码调试的软件.一般的解决办法是,将开发所需要的所有软件在目标工控机上再安装一遍,然后将代码拷贝到目标机,然后在目标机上修改代码和调试代码.这样做有一下几个缺点. (1