hive的远程debug可以说是相当的简单,方便。但是如果你的工作环境有网络上的限制,可能就需要变通一下。
一.Attach 模式(适用与本地能够通远程服务器)
1.配置idea
如图:host:为hive启动服务ip, port:hive默认是8000,可以启动hive的时候进行设置。
2.启动hive
直接执行命令:hive --debug (当然有些参数是直接可以设置的,比如设置端口 hive --debug[:port=5005])
3.启动idea remote。 之后就可以愉快的debug了。
二、Listen模式 (如果本地不通线上服务器,但是线上通本地,这种方式有效,如果两边都不通,再见!)
1.同样先配置idea
如图,端口可以自己配置。
2.修改debug.sh(找到bin/hive路径,debug.sh在hive同路径下的ext文件夹内)
搜索:HIVE_MAIN_CLIENT_DEBUG_OPTS
然后注释这行以及下一行。
然后进行修改:
export HIVE_MAIN_CLIENT_DEBUG_OPTS=" -XX:+UseParallelGC -agentlib:jdwp=transport=dt_socket,server=n,address=本地IP:5005,suspend=y"
export HIVE_CHILD_CLIENT_DEBUG_OPTS="-XX:+UseParallelGC -agentlib:jdwp=transport=dt_socket,server=n,address=本地IP:5005,suspend=y”
3.先启动idea的remote,再执行hive --debug命令。