zoukankan      html  css  js  c++  java
  • 开启flume的远程调试功能

    开启flume的远程调试功能 - 代码一刀 - 博客园 https://www.cnblogs.com/zengdan-develpoer/p/4637714.html

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

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

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

    1
    2
    3
    4
    5
    # set default params
    FLUME_CLASSPATH=""
    FLUME_JAVA_LIBRARY_PATH=""
    JAVA_OPTS="-Xmx20m"
    LD_LIBRARY_PATH=""

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

    1
    2
    3
    4
    5
    # 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配置,大同小异。

  • 相关阅读:
    CodeForces 55D Beautiful numbers(数位dp+数学)
    hdu 2089 不要62(数位dp入门)
    Git版本控制
    Git初始化-添加提交以及查看状态
    linux-高并发与负载均衡-lvs-3种模型推导
    Scrapy中选择器的用法
    Scrapy命令行详解
    Scrapy框架基本用法讲解
    MaxCompute教程
    Scrapy安装报错
  • 原文地址:https://www.cnblogs.com/rsapaper/p/9339650.html
Copyright © 2011-2022 走看看