[
https://issues.apache.org/jira/browse/MAPREDUCE-3181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13130306#comment-13130306
]
Arun C Murthy commented on MAPREDUCE-3181:
------------------------------------------
Ok, I spent more time on this. I think I finally figured this out.
The reason 'normal' jobs work is that they don't call InputFormat.getSplits
until they create a YARNRunner which, in turn, creates a YarnConfiguration for
the first time. YarnConfiguration has a static block which adds
yarn-(default,site).xml as 'default resources' into the Configuration. Thus any
configuration created after loads these.
The fix afaics is to add yarn-(default,site).xml as default resources in
JobConf via org.apache.hadoop.mapreduce.utilConfigUtil.loadResources the same
time we add mapred-(default,site).xml.
> Terasort fails with Kerberos exception on secure cluster
> --------------------------------------------------------
>
> Key: MAPREDUCE-3181
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-3181
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: mrv2
> Affects Versions: 0.23.0
> Reporter: Anupam Seth
> Assignee: Anupam Seth
> Priority: Blocker
> Fix For: 0.23.0
>
> Attachments: MAPREDUCE-3181-branch0_23.patch,
> MAPREDUCE-3181-branch0_23.patch
>
>
> We are seeing the following Kerberos exception upon trying to run terasort on
> secure single and multi-node clusters using the latest build from branch 0.23.
> java.io.IOException: Can't get JobTracker Kerberos principal for use as
> renewer
> at
> org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodesInternal(TokenCache.java:106)
> at
> org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodesInternal(TokenCache.java:90)
> at
> org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodes(TokenCache.java:83)
> at
> org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:205)
> at
> org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:269)
> at
> org.apache.hadoop.examples.terasort.TeraInputFormat.getSplits(TeraInputFormat.java:318)
> at
> org.apache.hadoop.examples.terasort.TeraInputFormat.writePartitionFile(TeraInputFormat.java:169)
> at org.apache.hadoop.examples.terasort.TeraSort.run(TeraSort.java:306)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:69)
> at
> org.apache.hadoop.examples.terasort.TeraSort.main(TeraSort.java:325)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72)
> at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:144)
> at
> org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:68)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:189)
> Adding debug output shows that the job configuration is not loading up
> yarn-site.xml causing the above failure to happen.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira