Hi again,
I'm trying to run solr via apache slider on an insecure mapr cluster, but
for some reason the slider app is trying to use kerberos to authenticate
against the zookeeper. I am using a standalone zookeeper (tried versions
3.4.6 and 3.4.9). This is the error I see on slider:
java.security.PrivilegedActionException: javax.security.sasl.SaslException:
Failure to initialize security context [Caused by GSSException: Invalid
name provided (Mechanism level: KrbException: Cannot locate default realm)]
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.zookeeper.client.ZooKeeperSaslClient.createSaslClient(ZooKeeperSaslClient.java:283)
at
org.apache.zookeeper.client.ZooKeeperSaslClient.<init>(ZooKeeperSaslClient.java:131)
at
org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:949)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1003)
Caused by: javax.security.sasl.SaslException: Failure to initialize
security context [Caused by GSSException: Invalid name provided (Mechanism
level: KrbException: Cannot locate default realm)]
at
com.sun.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:149)
at
com.sun.security.sasl.gsskerb.FactoryImpl.createSaslClient(FactoryImpl.java:63)
at javax.security.sasl.Sasl.createSaslClient(Sasl.java:372)
at
org.apache.zookeeper.client.ZooKeeperSaslClient$1.run(ZooKeeperSaslClient.java:288)
at
org.apache.zookeeper.client.ZooKeeperSaslClient$1.run(ZooKeeperSaslClient.java:283)
... 6 more
Caused by: GSSException: Invalid name provided (Mechanism level:
KrbException: Cannot locate default realm)
at
sun.security.jgss.krb5.Krb5NameElement.getInstance(Krb5NameElement.java:129)
at
sun.security.jgss.krb5.Krb5MechFactory.getNameElement(Krb5MechFactory.java:95)
at sun.security.jgss.GSSManagerImpl.getNameElement(GSSManagerImpl.java:202)
at sun.security.jgss.GSSNameImpl.getElement(GSSNameImpl.java:476)
at sun.security.jgss.GSSNameImpl.init(GSSNameImpl.java:201)
at sun.security.jgss.GSSNameImpl.<init>(GSSNameImpl.java:170)
at sun.security.jgss.GSSManagerImpl.createName(GSSManagerImpl.java:137)
at
com.sun.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:107)

This is the relevant log part on the zookeeper:
2017-02-21 10:47:57,053 [myid:] - INFO [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:ZooKeeperServer@928] - Client attempting to establish
new session at /172.31.3.3:57138
2017-02-21 10:47:57,058 [myid:] - INFO [SyncThread:0:FileTxnLog@203] -
Creating new log file: log.1
2017-02-21 10:47:57,112 [myid:] - INFO [SyncThread:0:ZooKeeperServer@673] -
Established session 0x15a6010d8260000 with negotiated timeout 40000 for
client /172.31.3.3:57138
2017-02-21 10:48:02,138 [myid:] - WARN [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:NIOServerCnxn@357] - caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid
0x15a6010d8260000, likely client has closed socket
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228)
at
org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:203)
at java.lang.Thread.run(Thread.java:745)
2017-02-21 10:48:02,143 [myid:] - INFO [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1008] - Closed socket connection for
client /172.31.3.3:57138 which had sessionid 0x15a6010d8260000
2017-02-21 10:48:38,000 [myid:] - INFO [SessionTracker:ZooKeeperServer@358]
- Expiring session 0x15a6010d8260000, timeout of 40000ms exceeded
2017-02-21 10:48:38,001 [myid:] - INFO [ProcessThread(sid:0
cport:2181)::PrepRequestProcessor@487] - Processed session termination for
sessionid: 0x15a6010d8260000

I searched but couldn't find a way to tell slider that it is connecting to
an insecure cluster. Any input is greatly appreciated!

Thanks,
Nicolas

Reply via email to