Created 07-07-2017 10:42 PM
When I directly try to connect to hive using Beeline -u "jdbc:hive2://node03.comp.net:2181,node02.comp.net:2181,node01.comp.net:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2-hive2" -n username
CLI throws the following error
"Connecting to jdbc:hive2://node03.comp.net:2181,node02.comp.net:2181,node01.comp.net:2181/ 17/07/07 18:11:35 [main]: WARN jdbc.HiveConnection: Failed to connect to node03.comp.net:2181 Error: Could not open client transport with JDBC Uri: jdbc:hive2://node03.comp.net:2181/: null (state=08S01,code=0) Beeline version 1.2.1000.2.6.1.0-129 by Apache Hive"
While I just run beeline <enter> and use same jdbc url I'm able to connect.
!connect jdbc:hive2://node03.comp.net:2181,node02.comp.net:2181,node01.comp.net:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2-hive2 Connecting to jdbc:hive2://node03.comp.net:2181,node02.comp.net:2181,node01.comp.net:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2-hive2 Enter username for jdbc:hive2://node03.comp.net:2181,node02.comp.net:2181,node01.comp.net:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2-hive2: username Enter password for jdbc:hive2://node03.comp.net:2181,node02.comp.net:2181,node01.comp.net:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2-hive2: ********* Connected to: Apache Hive (version 2.1.0.2.6.1.0-129) Driver: Hive JDBC (version 1.2.1000.2.6.1.0-129) Transaction isolation: TRANSACTION_REPEATABLE_READ
Any idea why this is happening. How to fix it?
A bit about our env:
We have Ranger (LDAP) for authorization and also LDAP/AD for Hive authentication.
I plan to use the above commands to launch HQL scripts with parameters like
beeline -u jdbc:hive2://node03.comp.net:2181,node02.comp.net:2181,node01.comp.net:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2-hive2 -n xxxx -w pfile -f /home/hdfs/hive_llap/script/test.hql --hivevar db=$dbname
Any help is appreciated, thanks.
Created 07-07-2017 11:18 PM
Typically beeline -u "<jdbc_url>" -n <username> -w <password>, note the jdbc_url is quoted. Are you sure you did that?
Created 07-08-2017 05:03 AM
Yes, I tried both the approach with double quotes and without quotes.
Created 07-09-2017 06:17 PM
@Gaurav Mallikarjuna Try the below command and see if it works for you.
In my environment, hive.server2.zookeeper.namespace is set to hiveserver2. Try to put the command within quotes.
[hdfs@hadoopnn01 ~]$ beeline -u "jdbc:hive2://hadoopnn01.infoshop.com.tr:2181,hadoop01.infoshop.com.tr:2181,hadoopnn02.infoshop.com.tr:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2" WARNING: Use "yarn jar" to launch YARN applications. Connecting to jdbc:hive2://hadoopnn01.infoshop.com.tr:2181,hadoop01.infoshop.com.tr:2181,hadoopnn02.infoshop.com.tr:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2 Connected to: Apache Hive (version 1.2.1000.2.4.3.0-227) Driver: Hive JDBC (version 1.2.1000.2.4.3.0-227) Transaction isolation: TRANSACTION_REPEATABLE_READ Beeline version 1.2.1000.2.4.3.0-227 by Apache Hive 0: jdbc:hive2://hadoopnn01.infoshop.com.tr:21>
Created 07-10-2017 10:46 AM
I tested the same as mine HDP 2.6.1 and could not see any issues
[root@dkhdp262c6 ~]# beeline -u "jdbc:hive2://dkhdp263c6.openstacklocal:2181,dkhdp262c6.openstacklocal:2181,dkhdp261c6.openstacklocal:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2" -n admin Connecting to jdbc:hive2://dkhdp263c6.openstacklocal:2181,dkhdp262c6.openstacklocal:2181,dkhdp261c6.openstacklocal:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2 Connected to: Apache Hive (version 1.2.1000.2.6.1.0-129) Driver: Hive JDBC (version 1.2.1000.2.6.1.0-129) Transaction isolation: TRANSACTION_REPEATABLE_READ Beeline version 1.2.1000.2.6.1.0-129 by Apache Hive 0: jdbc:hive2://dkhdp263c6.openstacklocal:218> show databases; +----------------+--+ | database_name | +----------------+--+ | default | +----------------+--+ 1 row selected (0.305 seconds) 0: jdbc:hive2://dkhdp263c6.openstacklocal:218>
This is non Kerberised environment though.
One more thing, I have transport mode set to binary. What is yours?
If your environment is also non-Kerberised and hive transport mode is binary, try the following:
beeline -u "jdbc:hive2://dkhdp261c6.openstacklocal:10000/" -n admin
The above is a hostname where your hiveserver2 is installed + its port number.
Here is how this works my end:
[root@dkhdp262c6 ~]# beeline -u "jdbc:hive2://dkhdp261c6.openstacklocal:10000/" -n admin Connecting to jdbc:hive2://dkhdp261c6.openstacklocal:10000/ Connected to: Apache Hive (version 1.2.1000.2.6.1.0-129) Driver: Hive JDBC (version 1.2.1000.2.6.1.0-129) Transaction isolation: TRANSACTION_REPEATABLE_READ Beeline version 1.2.1000.2.6.1.0-129 by Apache Hive 0: jdbc:hive2://dkhdp261c6.openstacklocal:100> show databases; +----------------+--+ | database_name | +----------------+--+ | default | +----------------+--+ 1 row selected (0.29 seconds) 0: jdbc:hive2://dkhdp261c6.openstacklocal:100>
Created 07-10-2017 04:14 PM
@Daniel Kozlowski We have Ranger (LDAP) for authorization and also LDAP/AD for Hive authentication. So the "-n admin" option doesn't work
Created 07-11-2017 03:03 AM
In the above example you can notice that I used other method to connect to hiveserver2 - using hive2 node + its port number like
$ beeline -u "jdbc:hive2://dkhdp261c6.openstacklocal:10000/" -n admin
Using admin is for my sample only.
In your case - if your transport mode is binary and the cluster is NON kerberized -
$ beeline -u "jdbc:hive2://<hiveserver2-hostname>:10000/" -n <username>
Created 07-11-2017 12:33 AM
I believe the issue could be with the permissions on the '/user/hive/' directory in hdfs. So the user you are passing in your beeline command line should have the proper access to this directory as well. In my case, the '/user/hive/' was owned by 'hive' user and 'hadoop' group. Also the folder has '755' permissions in my case.
I tried below query and it worked for me:
# beeline -u "jdbc:hive2://<my zookeeper fqdn>:2181,<my zookeeper fqdn>:2181,<my zookeeper fqdn>:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2" -u hrt_qa
Connecting to jdbc:hive2://<my zookeeper fqdn>:2181,<my zookeeper fqdn>:2181,<my zookeeper fqdn>:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
Connected to: Apache Hive (version 1.2.1000.2.5.0.0-1245)
Driver: Hive JDBC (version 1.2.1000.2.5.0.0-1245)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 1.2.1000.2.5.0.0-1245 by Apache Hive
0: jdbc:hive2://<my zookeeper hostname>.o>
So, I think it has nothing to with quotes.