[ 
https://issues.apache.org/jira/browse/SLIDER-633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14210174#comment-14210174
 ] 

Jonathan Maron commented on SLIDER-633:
---------------------------------------

Instead of a flag we may be able to simply check the authentication method 
(only KERBEROS would allow for a token retrieval from the FS).

If you could cobble something together it may help with functional testing of 
the patch as well as maybe provide hints for an appropriate unit 
testing/functional testing approach.

> Slider should support invocation via Oozie
> ------------------------------------------
>
>                 Key: SLIDER-633
>                 URL: https://issues.apache.org/jira/browse/SLIDER-633
>             Project: Slider
>          Issue Type: Improvement
>    Affects Versions: Slider 0.50
>            Reporter: Lee Yang
>         Attachments: fix_oozie_launch.patch
>
>
> In a secure Hadoop installation, when attempting to launch a slider 
> application via an Oozie shell-action, I see the following exception:
> {noformat}
> Stdoutput org.apache.hadoop.ipc.RemoteException(java.io.IOException): 
> Delegation Token can be issued only with kerberos or web authentication
> Stdoutput     at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getDelegationToken(FSNamesystem.java:6757)
> Stdoutput     at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getDelegationToken(NameNodeRpcServer.java:499)
> Stdoutput     at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getDelegationToken(ClientNamenodeProtocolServerSideTranslatorPB.java:921)
> Stdoutput     at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> Stdoutput     at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
> Stdoutput     at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
> Stdoutput     at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013)
> Stdoutput     at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009)
> Stdoutput     at java.security.AccessController.doPrivileged(Native Method)
> Stdoutput     at javax.security.auth.Subject.doAs(Subject.java:415)
> Stdoutput     at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1637)
> Stdoutput     at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007)
> Stdoutput 
> Stdoutput     at org.apache.hadoop.ipc.Client.call(Client.java:1411)
> Stdoutput     at org.apache.hadoop.ipc.Client.call(Client.java:1364)
> Stdoutput     at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
> Stdoutput     at com.sun.proxy.$Proxy17.getDelegationToken(Unknown Source)
> Stdoutput     at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getDelegationToken(ClientNamenodeProtocolTranslatorPB.java:864)
> Stdoutput     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> Stdoutput     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> Stdoutput     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> Stdoutput     at java.lang.reflect.Method.invoke(Method.java:601)
> Stdoutput     at 
> org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
> Stdoutput     at 
> org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
> Stdoutput     at com.sun.proxy.$Proxy18.getDelegationToken(Unknown Source)
> Stdoutput     at 
> org.apache.hadoop.hdfs.DFSClient.getDelegationToken(DFSClient.java:947)
> Stdoutput     at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getDelegationToken(DistributedFileSystem.java:1305)
> Stdoutput     at 
> org.apache.hadoop.fs.FileSystem.collectDelegationTokens(FileSystem.java:527)
> Stdoutput     at 
> org.apache.hadoop.fs.FileSystem.addDelegationTokens(FileSystem.java:505)
> Stdoutput     at 
> org.apache.slider.core.launch.AppMasterLauncher.addSecurityTokens(AppMasterLauncher.java:209)
> Stdoutput     at 
> org.apache.slider.core.launch.AppMasterLauncher.completeAppMasterLaunch(AppMasterLauncher.java:183)
> Stdoutput     at 
> org.apache.slider.core.launch.AppMasterLauncher.submitApplication(AppMasterLauncher.java:214)
> Stdoutput     at 
> org.apache.slider.client.SliderClient.launchApplication(SliderClient.java:1127)
> Stdoutput     at 
> org.apache.slider.client.SliderClient.startCluster(SliderClient.java:771)
> Stdoutput     at 
> org.apache.slider.client.SliderClient.actionCreate(SliderClient.java:515)
> Stdoutput     at 
> org.apache.slider.client.SliderClient.runService(SliderClient.java:295)
> Stdoutput     at 
> org.apache.slider.core.main.ServiceLauncher.launchService(ServiceLauncher.java:186)
> Stdoutput     at 
> org.apache.slider.core.main.ServiceLauncher.launchServiceRobustly(ServiceLauncher.java:471)
> Stdoutput     at 
> org.apache.slider.core.main.ServiceLauncher.launchServiceAndExit(ServiceLauncher.java:401)
> Stdoutput     at 
> org.apache.slider.core.main.ServiceLauncher.serviceMain(ServiceLauncher.java:626)
> Stdoutput     at org.apache.slider.Slider.main(Slider.java:49)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to