Victor Kim created YARN-2090:
--------------------------------

             Summary: If Kerberos Authentication is enabled, MapReduce job is 
failing on reducer phase
                 Key: YARN-2090
                 URL: https://issues.apache.org/jira/browse/YARN-2090
             Project: Hadoop YARN
          Issue Type: Bug
          Components: applications, nodemanager
    Affects Versions: 2.4.0
         Environment: hadoop: 2.4.0.2.1.2.0
            Reporter: Victor Kim
            Priority: Critical


I have 3-node cluster configuration: 1 ResourceManager and 3 NodeManagers, 
Kerberos is enabled, have hdfs, yarn, mapred principals\keytabs. 
ResourceManager and NodeManager are ran under yarn user, using yarn Kerberos 
principal. 
Use case 1: WordCount, submit job using yarn UGI (i.e. superuser, the one 
having Kerberos principal on all boxes). Result: job successfully completed.
Use case 2: WordCount, submit job using LDAP user impersonation via yarn UGI. 
Result: Map tasks are completed SUCCESSfully, Reduce task fails with 
ShuffleError Caused by: java.io.IOException: Exceeded MAX_FAILED_UNIQUE_FETCHES 
(see the stack trace below).
The use case with user impersonation used to work on earlier versions, without 
YARN (with JT&TT).

I found similar issue with Kerberos AUTH involved here: 
https://groups.google.com/forum/#!topic/nosql-databases/tGDqs75ACqQ
And here https://issues.apache.org/jira/browse/MAPREDUCE-4030 it's marked as 
resolved, which is not the case when Kerberos Authentication is enabled.

The exception trace from YarnChild JVM:
2014-05-21 12:49:35,687 FATAL [fetcher#3] 
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl: Shuffle failed 
with too many fetch failures and insufficient progress!
2014-05-21 12:49:35,688 WARN [main] org.apache.hadoop.mapred.YarnChild: 
Exception running child : 
org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle 
in fetcher#3
        at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:134)
        at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:376)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:416)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1557)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
Caused by: java.io.IOException: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
        at 
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.checkReducerHealth(ShuffleSchedulerImpl.java:323)
        at 
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.copyFailed(ShuffleSchedulerImpl.java:245)
        at 
org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyFromHost(Fetcher.java:347)
        at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:165)






--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to