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
