Hive 0.9.0 supports remote debug.Run the following command, and Hive will suspend and listening on 8000.
hive --debugBut there is a bug in Hive CDH4.1.0 which blocks you from using this option. You will get this error message:
[bewang@myserver ~]$ hive --debug ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options. Error occurred during initialization of VM agent library failed to init: jdwp
By setting xtrace, I found "-XX:+UseParallelGC -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=y" is actually add twice. In this commit 54abc308164314a6fae0ef0b2f2241a6d4d9f058, HADOOP_CLIENT_OPTS is appended to HADOOP_OPTS, unfortunately this is done in $HADOOP_HOME/bin/hadoop".
--- a/bin/hive +++ b/bin/hive @@ -216,6 +216,7 @@ if [ "$DEBUG" ]; then else get_debug_params "$DEBUG" export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS $HIVE_MAIN_CLIENT_DEBUG_OPTS" + export HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS" fi fi
Removing this line will fix the issue.
Thanks for posting this! You saved me.
ReplyDelete