AnsweredAssumed Answered

Drill Won't Start on Secure Cluster

Question asked by mandoskippy on Mar 9, 2017
Latest reply on Apr 11, 2017 by maprcommunity

I am running my own instance of Apache Drill (not managed by MapR) on a MapR Secure Cluster.  First let me say that on a non-secure cluster, this Drill package is working great. It's MapR's Build of Drill 1.8, but repackaged so I am managing all the aspects (not started by warden etc). 


That said, without SECURE, I am running with Authentication and with HTTPS no issues. 


When I enable MapR Secure Cluster, I get the error below on Bit startup, I tried setting in the


export MAPR_TICKETFILE_LOCATION="/zeta/mydcos/zeta/prod/drill/drillprod/TICKETS/drillticket"



I tried using a user ticket (mapr is my user, that's what I am using for all these) a Service Ticket, and then a Service ticket with impersonation. None of them work for me to be able to get Drill Started.   I get the error below, any help would be appreciated. 


Note in my I echoed both the location of the drill ticket, and the I ran "cat $MAPR_TICKETFILE_LOCATION"   Both commands outputed to STDOUT and showed that the Drill instance had access to the ticket, and could output it correctly.







Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Failure while initializing values in Drillbit.      at org.apache.drill.exec.server.Drillbit.start(      at org.apache.drill.exec.server.Drillbit.start(      at org.apache.drill.exec.server.Drillbit.main( Caused by: org.apache.drill.common.exceptions.ExecutionSetupException: A System Table provider was either not specified or could not be found or instantiated      at      at org.apache.drill.exec.server.Drillbit.<init>(      at org.apache.drill.exec.server.Drillbit.start(      ... 2 more Caused by: java.lang.reflect.InvocationTargetException      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)      at sun.reflect.NativeConstructorAccessorImpl.newInstance(      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(      at java.lang.reflect.Constructor.newInstance(      at      ... 4 more Caused by: org.apache.drill.exec.exception.StoreException: unable to get filesystem      at<init>(      at<init>(      ... 9 more Caused by: failure to login: Unable to obtain MapR credentials      at      at      at      at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(      at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(      at org.apache.hadoop.fs.FileSystem$Cache.get(      at org.apache.hadoop.fs.FileSystem.get(      at org.apache.hadoop.fs.FileSystem.get(      at<init>(      at<init>(      at      at<init>(      ... 10 more Caused by: Unable to obtain MapR credentials      at      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)      at sun.reflect.NativeMethodAccessorImpl.invoke(      at sun.reflect.DelegatingMethodAccessorImpl.invoke(      at java.lang.reflect.Method.invoke(      at      at$000(      at$      at$      at Method)      at      at      at      ... 21 more Caused by: com.mapr.login.MapRLoginException: Unable to authenticate as ticket is not available      at com.mapr.login.client.MapRLoginHttpsClient.authenticateIfNeeded(      at com.mapr.login.client.MapRLoginHttpsClient.authenticateIfNeeded(      at      ... 33 more