通过idea远程调试


集群:centos7 + HA集群

开发环境:win7 IDEA

问题:在win7上开发,任务在hadoop集群上运行,当远程程序执行出错,需要排错,总结主要有两种方式:

      1、查看日志

        可通过webui查看各节点日志

        自己写一个工具库,通过nc把日志发送同一个终端查看

      2、设置java的运行方式,通过idea进行远程调试

 

过程

1、生成mr作业jar包,导出并传到集群,如家目录

  这些包是内置的,不需要导出到jar文件中

  查看生成的jar包位置

  通过winscp将该jinjie.jar文件,拖到s101家目录

2、将测试文件,上传到hdfs

hdfs dfs -put ttt.dat /

3、修改/soft/hadoop/bin/hadoop脚本

  在首行添加

export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8888"

  注意:1、使用双引号

        2、调试完毕,必须删除或注释掉,否则以后涉及job任务都会阻塞,启动hive时也会阻塞

4、启动mr作业

  找到入口类

jar -tf jinjie.jar  //列出该jar包中的所有类的全路径名

  启动

hadoop jar jinjie.jar k_hadoop.mydebug.App /ttt.dat /out

5、在idea中配置

  进入编辑配置

  选择远程

  命名、改主机名、端口

6、开始调试

  临时目录 /tmp/hadoop-yarn/staging/centos/.staging/job_1537875597065_0001 中文件:

    job.jar

    job.split

    job.splitmetainfo

    job.xml

7、删除hadoop脚本中的调试设置

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM