集群:centos7 + HA集群

开发环境:win7 IDEA

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

      1、查看日志

        可通过webui查看各节点日志

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

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

 

过程

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

通过idea远程调试

通过idea远程调试

通过idea远程调试

通过idea远程调试

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

通过idea远程调试

通过idea远程调试

通过idea远程调试

  查看生成的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中配置

通过idea远程调试

  进入编辑配置

通过idea远程调试

  选择远程

通过idea远程调试

  命名、改主机名、端口

6、开始调试

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

    job.jar

    job.split

    job.splitmetainfo

    job.xml

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

 

相关文章:

  • 2022-12-23
猜你喜欢
  • 2021-10-26
  • 2019-12-19
  • 2021-08-01
  • 2022-01-09
  • 2021-07-15
相关资源
相似解决方案