IDEA远程debug Hadoop/HIVE/SPARK

IDEA如何远程debug Hadoop/HIVE/SPARK

对于大数据开发人员来说,学会Debug大数据的基本组件非常重要,不仅可以让你可以更熟悉这些组件,而且可以让你更好的学习源码:

  • IDEA远程debug Hadoop
  • IDEA远程debug Hive
  • IDEA远程debug Spark

IDEA远程debug Hadoop

1,需要配置要debug的命令参数,比如我准备要debug datanode

在bin目录下 复制一个脚本 cp hdfs hdfs_debug
编辑hdfs_debug脚本,在脚本最后修改:

#exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"' 
exec "$JAVA" -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"

2.在服务器上执行命令:

hdfs_debug datanode
Listening for transport dt_socket at address: 8000

3.在本地IDEA配置远程debug

配置对应的ip 和 端口,如下图:

这里写图片描述

4.配置好后,点击debug运行,console会打印,已连接上,此时已经debug上服务端,具体如下:
在这里插入图片描述

5.此时就可以开始debug具体代码了,比如我想跟踪getVolumeUsage 在本地在相关代码出打上断点,具体如下:
在这里插入图片描述

IDEA远程debug Hive

debug metastore
1.在metastore server机器上,开始debug模式,命令如下

# 可通过  --debug:port=8001 修改调试端口
hive  --debug  --service metastore
Starting Hive Metastore Server
Listening for transport dt_socket at address: 8000

2.在本地IDEA配置远程debug
配置对应的ip 和 端口,大致如 hadoop上的截图

3.配置好后,点击debug运行,console会打印,已连接上,此时已经debug上服务端,具体如下:

4.此时就可以在hive客户端上开始debug了,比如我执行一个建表操作,在本地在相关代码出打上断点,具体如下:

hive> create external table IF NOT EXISTS test_debug
    > (
    > uid string
    > )
    > partitioned by (dt string)
    > row format delimited fields terminated by '\t'
    > stored as textfile;

5,此时就会在调到本地的断点位置,可以开始debug代码了 O(∩_∩)O哈哈~ :

IDEA远程debug Spark

1.在spark客户端输入下面命令

export SPARK_SUBMIT_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000
spark-shell

2.在本地IDEA配置远程debug
配置对应的ip 和 端口,大致如 hadoop上的截图

3.配置好后,点击debug运行,console会打印,已连接上,此时已经debug上服务端,具体如下:

4.点击Intellij菜单下的Debug按钮,就会运行你的spark进程了。之后设置你要调试代码的断点,然后就可以和平常一样使用调试器了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值