web-dev-qa-db-fra.com

beeline ne peut pas se connecter à hiveserver2

J'ai une instance CDH 5.3. Je démarre le Hive-server2 en démarrant d'abord le Hive-metastore puis le Hive-server à partir de la ligne de commande. Après cela, j'utilise beeline pour me connecter à mon Hive-server2 mais apparemment, il n'est pas en mesure de le faire.

Could not open connection to jdbc:Hive2://localhost:10000: Java.net.ConnectException: Connection refused (state=08S01,code=0)

Un autre problème, j'ai essayé de voir si le Hive-server2 écoutait sur le port 10000. J'ai fait "Sudo netstat -tulpn | grep :10000 "mais aucune des applications n'est apparue. J'ai également ajouté la propriété suivante dans Hive-site.xml mais en vain. Pourquoi ne s'affiche-t-elle pas sur le netstat?

<property>
   <name>Hive.server2.thrift.port</name>
   <value>10000</value>
   <description>TCP port number to listen on, default 10000</description>
 </property>

La commande connect sur beeline:

!connect jdbc:Hive2://localhost:10000 org.Apache.Hive.jdbc.HiveDriver

lorsqu'on me demande le nom d'utilisateur et le mot de passe, j'entre simplement test "utilisateur" et "mot de passe" pour les valeurs respectives, puis il renvoie l'erreur. toute aide serait appréciée

12
tinus91

Hive Connexion à beeline depuis un client ayant différents modes.

1.Mode intégré: Le serveur et le client s'exécutent sur la même machine. Non TCP Connexion requise.

 If Hive.server2.authentication is "NONE" in Hive_HOME/conf/Hive-site.xml then connect beeline with below url

Connection URL:
               !connect jdbc:Hive2://

2. Mode distant: Il prend en charge plusieurs clients pour exécuter des requêtes à l'aide des schémas d'authentification suivants.

Schémas d'authentification:

i.)SASL Authentication:

   If value of "Hive.server2.authentication" property in Hive_HOME/conf/Hive-site.xml to be set as "SASL" then connect Hive beeline with below url

   Beeline URL:
             !connect jdbc:Hive2://<Host>:<port>/<db>

ii.)NOSASL Authentication:
   If "Hive.server2.authentication" is nosasl then connect the beeline like below.
   Beeline URL:

             !connect jdbc:Hive2://<Host>:<port>/<db>;auth=noSasl

J'espère que cela vous aide vraiment

Références:

https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_dataintegration/content/beeline-vs-Hive-cli.html

11
Mahendra Prabhu

J'ai eu le même problème ici. C'est tout simplement parce que hiveserver2 n'a pas pu démarrer - l'erreur n'apparaît pas dans la console, mais dans les journaux Hive. Dans mon cas, les journaux Hive sont situés dans /tmp/ubuntu/Hive.log

Il peut y avoir différentes raisons pour que vous provoquiez Hive-server2 n'a pas pu démarrer, mais cela vaut vraiment la peine de regarder dans ce fichier journal.

2
huang shuming

Dans ce cas, votre service hiveserver2 n'a pas été démarré.Veuillez suivre les étapes de vérification pour vérifier et corriger. étape: 1. voir le fichier Hive.log pour vérifier "Service: HiveServer2 est démarré."

1) find / -name Hive.log
2) vim Hive.log
  in Hive.log file ,if you can not find "Service:HiveServer2 is started.",then prove hiveserver2 is not started.

2.démarrez la commande hiveserver2: ./bin/hiveserver2

3. voyez Hive.log。 si vous pouvez trouver "Service: HiveServer2 est démarré." dans Hive.log. puis connectez hiveserver2 par beeline.

4. connectez hiveserver2 ./bin/beeline! Connect jdbc: Hive2: // localhost: 10000

5.les informations ci-dessous peuvent apparaître.

Beeline version 1.2.1 by Apache Hive
beeline> !connect jdbc:Hive2://localhost:10000
Connecting to jdbc:Hive2://localhost:10000
Enter username for jdbc:Hive2://localhost:10000: root
Enter password for jdbc:Hive2://localhost:10000: ******
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
2
xibeilijp

Ce qui suit a fonctionné pour moi. Si vous avez installé et configuré Hive pour la première fois et que vous essayez de vous connecter à partir de beeline, assurez-vous de démarrer le service Hive à l'aide de la commande suivante dans le terminal actuel

 >Hive --service hiverserver2 &

L'ID de processus pour Hiverver2 apparaît dans la console, puis réessayez de vous connecter à Hive depuis beeline à l'aide d'un terminal différent:

 >beeline -u "jdbc:Hive2://localhost:10000/default" -n <username> -p <password> -d "org.Apache.Hive.jdbc.HiveDriver"
1
Aditya

vous devez donner un nom d'utilisateur et un mot de passe à hiveserver2, vérifiez-le dans Hive-site.xml par défaut nom d'utilisateur (anonyme) et mot de passe (anonyme) sinon donnez simplement enter sans donner mot de passe et nom d'utilisateur.

0
ananymous

essayez avec l'option verbeuse pour voir plus de détails ...

beeline -u "jdbc:Hive2://localhost:10000/default;user=user;password=*******" --verbose
0
rb1234

Veuillez vous assurer que l'adresse IP de déploiement Hive2service.

Je rencontre le même problème, j'utilise l'ip du serveur cloudera (XXX.42) pour connecter le service Hive2; mais en fait, le service d'épargne Hive (Hive2service) est utilisé sur une autre machine (XXX.41).

0
Lorry