I am attempting to authenticate against a Kerberos-enabled cluster suing
the Livy API:

Setting up Kerberos properties:

Properties props = new Properties();
props.setProperty("spnego.enabled", "true");
props.setProperty("auth.login.config", "C:\\PATH_TO_\\jaas-client.conf");
props.setProperty("krb5.debug", "true");
props.setProperty("krb5.conf", "C:\\Windows\\krb5.ini");


Building Livy client with Kerberos properties

this.livyClient = new LivyClientBuilder()
        .setURI(this.config.getLivyURI())
        .setAll(props)
        .build();

I receive the following exception:

*NEGOTIATE authentication error: No valid credentials provided (Mechanism
level: No valid credentials provided (Mechanism level: Failed to find any
Kerberos tgt))*

Looking closer at the Livy source code, it appears that the enum value
"Entry.SPNEGO_ENABLED" needs to be set to false; however, I don't see a way
to access the enum Entry object prior to the check on line 66:

https://github.com/cloudera/livy/blob/9ae24d08738652ba5fd817780711d01b110d74a9/client-http/src/main/java/com/cloudera/livy/client/http/HttpConf.java#L66


Any help would be greatly appreciated!

Reply via email to