Ich versuche, RStudio mit Hive zu verbinden, das über Kerberos-Authentifizierung verfügt. Wenn ich das unten in einem R-Skript ausführe, das von der Befehlszeile angerufen wird, funktioniert es.Problem beim Verbinden von RStudio (aber nicht R) mit Hive mit Kerberos
library("DBI")
library("rJava")
library("RJDBC")
cp = c("/u01/cloudera/parcels/CDH/lib/hive/lib/hive-jdbc.jar"
, "/u01/cloudera/parcels/CDH/lib/hadoop/hadoop-common.jar"
, "/u01/cloudera/parcels/CDH/lib/hive/lib/libthrift-0.9.2.jar"
, "/u01/cloudera/parcels/CDH/lib/hive/lib/hive-service.jar"
, "/u01/cloudera/parcels/CDH/lib/hive/lib/httpclient-4.2.5.jar"
, "/u01/cloudera/parcels/CDH/lib/hive/lib/httpcore-4.2.5.jar"
, "/u01/cloudera/parcels/CDH/lib/hive/lib/hive-jdbc-standalone.jar")
.jinit(classpath=cp)
drv <- JDBC("org.apache.hive.jdbc.HiveDriver" , "hive-jdbc.jar")
conn <- dbConnect(drv , "jdbc:hive2://XXXX:10000/default;principal=hive/[email protected]";auth-kerberos)
Wenn ich genau das gleiche Skript in RStudio laufen, bekomme ich eine Fehlermeldung:
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
Wenn ich System laufen ('klist') in RStudio, es zeigt, dass ich ein gültiges Ticket haben. Es scheint, dass RStudio das Ticket nicht identifizieren kann, aber R ist. Irgendwelche Ideen?
Auf welchem Betriebssystem laufen Sie? Mit welchem Tool haben Sie das Ticket generiert? Hast du an der env Variable 'KRB5CCNAME' herumgebastelt? –
OS ist Red Hat 6.5. Verwendet kinit, um das Ticket zu generieren. Die Variable KRB5CCNAME ist nicht gesetzt/existiert bei der Ausführung von Sys.getenv() –
Versuchen Sie, einige Java-Systemeigenschaften zu erzwingen, die '.jinit' nicht verarbeiten kann, mit einer env-Variablen, z. 'export JAVA_TOOL_OPTIONS =" - Djavax.security.auth.useSubjectCredsOnly = false -Dsun.security.krb5.debug = true "'>> für die Requisiten, die einen Unterschied machen könnten, vgl. meine Antwort auf https://stackoverflow.com/questions/42477466/error-when-connect-to-impala-with-jdb-under-kerberos-authrication/42506620 –