Hi there,
Indeed, some of the MapR configuration files were setting
ZOOKEEPER_SERVER_OPTS. Strangely, MapR's unsecured cluster runs a secure ZK.

It was not difficult to switch to MapR's ZK. I only had to point to it and
replace the slider zookeeper jar with mapr's zookeeper jar
(zookeeper-3.4.5-mapr-1604.jar).

Hope this is useful for others.

Thanks for pointing me in the right direction!
Cheers,
Nicolas


On Tue, Feb 21, 2017 at 3:25 PM, Nicolás Velásquez O. <gnico...@gmail.com>
wrote:

> Hi Jon,
>
> This is the app configuration. resources-default.json:
> {
>   "schema" : "http://example.org/specification/v2.0.0";,
>   "metadata" : {
>   },
>   "global" : {
>   },
>   "components": {
>     "slider-appmaster": {
>     },
>     "SOLR": {
>       "yarn.role.priority": "1",
>       "yarn.component.instances": "2",
>       "yarn.memory": "1024"
>     }
>   }
> }
>
> and appConfig-default.json:
> {
>   "schema": "http://example.org/specification/v2.0.0";,
>   "metadata": {
>   },
>   "global": {
>     "application.def": ".slider/package/solr/solr-on-yarn.zip",
>     "java_home": "/usr/lib/jvm/java-7-openjdk-amd64",
>     "site.global.app_root": "${AGENT_WORK_ROOT}/app/install/solr-5.2.1",
>     "site.global.zk_host": "zkNode:2181",
>     "site.global.solr_host": "${SOLR_HOST}",
>     "site.global.listen_port": "${SOLR.ALLOCATED_PORT}",
>     "site.global.xmx_val": "1g",
>     "site.global.xms_val": "1g",
>     "site.global.gc_tune": "-XX:NewRatio=3 -XX:SurvivorRatio=4
> -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=8
> -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ConcGCThreads=4
> -XX:ParallelGCThreads=4 -XX:+CMSScavengeBeforeRemark
> -XX:PretenureSizeThreshold=64m -XX:+UseCMSInitiatingOccupancyOnly -XX:
> CMSInitiatingOccupancyFraction=50 -XX:CMSMaxAbortablePrecleanTime=6000
> -XX:+CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -verbose:gc
> -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps
> -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime",
>     "site.global.zk_timeout": "15000",
>     "site.global.server_module": "--module=http",
>     "site.global.stop_key": "solrrocks",
>     "site.global.solr_opts": ""
>   },
>   "components": {
>     "slider-appmaster": {
>       "jvm.heapsize": "512M"
>     },
>     "SOLR": {
>     }
>   }
> }
>
> I have tried both, having the properties in slider-client/server.xml and
> in the hadoop conf directory. In any case the cluster is unsecure.
>
> Ps: I'm using the instructions in https://github.com/apache/
> incubator-slider/tree/develop/app-packages/solr
>
> Thanks,
> Nicolas
>
>
> On Tue, Feb 21, 2017 at 2:25 PM, jonma...@gmail.com <jonma...@gmail.com>
> wrote:
> >
> > Can you provide your app config file?  Perhaps the combination of
> > properties you've specified is triggering an attempt to connect securely?
> > Are you specifiying the client properties in slider-client.xml or
> pointint
> > to the hadoop conf directory?  If the latter, are you certain that hadoop
> > authentication is not specified as kerberos?
> >
> > On Tue, Feb 21, 2017 at 5:04 AM, Nicolás Velásquez O. <
> gnico...@gmail.com>
> > wrote:
> >
> > > 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
> > >
> >
> >
> >
> > --
> > Sent from some random computer....
>
>
>
>
> --
> Nicolás Velásquez O.
> Mobile +41.767189348 <076%20718%2093%2048>
>



-- 
Nicolás Velásquez O.
Mobile +41.767189348

Reply via email to