hive is not allowed to impersonate hive
Après votre configuration Hadoop, dans mon cas Hortonworks, vous pouvez être confronter au message d'erreur "hive is not allowed to impersonate hive" lorsque vous tentez d’accéder à votre cluster :
Voici les étapes à suivre pour ne avoir de problème :
Connected to: Apache Hive (version 1.2.1.2.3.6.0-3796)
Driver: Hive JDBC (version 1.2.1.2.3.6.0-3796)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Error: Failed to open new session: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: hive is not allowed to impersonate hive (state=,code=0) |
1. Modification de la configuration
Dans le répertoire de configuration (/usr/hdp/2.3.6.0-3796/hadoop/conf), modifiez le fichier core-site.xml : <property><name>hadoop.proxyuser.hive.groups</name><value>*</value></property> <property><name>hadoop.proxyuser.hive.hosts</name><value>*</value></property>2. Vérifier la prise en compte de la modification
hadoop org.apache.hadoop.conf.Configuration |grep proxy | grep hive3. Relancer le namenode et le datanode
Arret/relance
1 2 |
/usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop namenode /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop datanode |
1 2 |
/usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start namenode /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start datanode |
4. Vérification Hadoop
1 |
hadoop dfsadmin -report |
5. Vérification de la prise en compte
1 2 3 |
beeline beeline> !connect jdbc:hive2://monserveur:10000 beeline> Enter username for jdbc:hive2://monserveur:10000:hive |