Hello Hadoop mailinglist,

we have problems running a Hadoop M/R Job on HDFS. It is a 2-node test
system using 0.20.203 using a PIG script.

The map tasks run through, but most job attempt outputs of one of the
machines are rejected by the reducer and rescheduled. This is the
stack trace/error message:

Map output lost, rescheduling:
getMapOutput(attempt_201202210928_0005_m_000008_0,129) failed :
java.io.IOException: Owner 'MYUID' for path
LOCAL_PATH/jobcache/job_201202210928_0005/attempt_201202210928_0005_m_000008_0/output/file.out
did not match expected owner 'MYUSERNAME'
        at org.apache.hadoop.io.SecureIOUtils.checkStat(SecureIOUtils.java:177)
        at 
org.apache.hadoop.io.SecureIOUtils.openForRead(SecureIOUtils.java:110)
        at 
org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:3837)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
        at 
org.apache.hadoop.http.HttpServer$QuotingInputFilter.doFilter(HttpServer.java:835)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

The userid (as number) is correct. but it seem that there are problems
to map the number back to a valid username. The machines use
Scientific Linux 6.1 with NIS/yp for usernames/passwords.
However, as far as I understand the source, the Owner username is
obtained by running "ls -ld" (class RawFileSystemStatus). Running ls
-l locally on the files returns a correctly resolved username.
The expected owner is obtained from the process system property
user.name (class TaskController).

After around 2k failed attempts the pig task is aborted.

* Can anyone help me or give me a hint what went wrong here.
* Is it possible to disable these security checks via a configuration?

I would really appreciate any help. Thank you,
Dirk

Reply via email to