hiveclient所在主机的jdk 1.7_51,hive 0.12和hadoop 2.3.0是从服务器端拷贝过来的,环境变量一切OK.
执行连接报了Invalid URL的错误:
$ beeline
Beeline version 0.12.0 by Apache Hive
beeline> !connect jdbc:hive2://cloud011:10000
scan complete in 2ms
Connecting to jdbc:hive2://cloud011:10000
Enter username for jdbc:hive2://cloud011:10000:
Enter password for jdbc:hive2://cloud011:10000:
Error: Invalid URL: jdbc:hive2://cloud011:10000 (state=08S01,code=0)
开始的一段时间都在纠结这个jdbc的URL格式问题,后来在cloudra论坛上找到了一个方法,
直接调用的jdbc:hive2的驱动测试是正常的,证明CLASSPATH等环境变量没有问题。
$ beeline -u jdbc:hive2:// scan complete in 3ms Connecting to jdbc:hive2:// ... 14/03/18 00:11:48 INFO HiveMetaStore.audit: ugi=bjdpi ip=unknown-ip-addr cmd=get_databases: default 14/03/18 00:11:48 INFO cli.CLIService: SessionHandle [f8c185f0-e491-4f8a-88fa-7f0be7089d23]: openSession() 14/03/18 00:11:48 INFO cli.CLIService: SessionHandle [f8c185f0-e491-4f8a-88fa-7f0be7089d23]: getInfo() Connected to: Hive (version 0.12.0) Driver: Hive (version 0.12.0) Transaction isolation: TRANSACTION_REPEATABLE_READ Beeline version 0.12.0 by Apache Hive
这时候感觉很可能不是客户端的问题,矛头指向服务器端:
# netstat -lanp | grep 10000 tcp 0 0 127.0.0.1:10000 0.0.0.0:* LISTEN 24553/java