Hello,

I've observed that the error only occurs on one datanode, and to make it more 
interesting when studying the CPU graphs on that particular node we've observed 
that there was no more CPU activity on that node.
The nodemanager process is still running but I don't register any CPU spikes so 
I'm guessing it doesn't do anything. Looking through nodemanager logs all that 
it does is staring containers:

2015-02-11 13:03:56,111 INFO  
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl:
 Start request for container_1423062241884_12668_01_000028
2015-02-11 13:03:56,112 INFO  
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.Application:
 Adding container_1423062241884_12668_01_000028 to application 
application_1423062241884_12668

It trying to localize the container:

2015-02-11 13:03:56,171 INFO  
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container: 
Container container_1423062241884_12668_01_000028 transitioned from NEW to 
LOCALIZING
2015-02-11 13:03:56,173 INFO  
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService:
 Created localizer for container_1423062241884_12668_01_000028
2015-02-11 13:03:56,191 INFO  
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService:
 Writing credentials to the nmPrivate file 
/hadoop/tmp/nmPrivate/container_1423062241884_12668_01_000028.tokens. 
Credentials list

And then after 10 minutes it kills it:

2015-02-11 13:14:21,941 INFO  
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl:
 Stopping container with container Id: container_1423062241884_12668_01_000028
2015-02-11 13:14:21,941 INFO 
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container: 
Container container_1423062241884_12668_01_000028 transitioned from LOCALIZING 
to KILLING

And then the usual stuff like removing it from HDFS, and aggregating the logs.

The whole CPU inactivity and localizing problems seem to occur after I get this 
error in the logs:

2015-02-11 13:03:28,399 WARN org.apache.hadoop.util.Shell: Interrupted while 
reading the error stream
java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at java.lang.Thread.join(Thread.java:1281)
        at java.lang.Thread.join(Thread.java:1355)
        at org.apache.hadoop.util.Shell.runCommand(Shell.java:497)
        at org.apache.hadoop.util.Shell.run(Shell.java:418)
        at 
org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
        at org.apache.hadoop.util.Shell.execCommand(Shell.java:739)
        at org.apache.hadoop.util.Shell.execCommand(Shell.java:722)
        at 
org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:633)
        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:421)
        at org.apache.hadoop.fs.FileSystem.primitiveMkdir(FileSystem.java:1061)
        at 
org.apache.hadoop.fs.DelegateToFileSystem.mkdir(DelegateToFileSystem.java:157)
        at org.apache.hadoop.fs.FilterFs.mkdir(FilterFs.java:189)
        at org.apache.hadoop.fs.FileContext$4.next(FileContext.java:721)
        at org.apache.hadoop.fs.FileContext$4.next(FileContext.java:717)
        at org.apache.hadoop.fs.FSLinkResolver.resolve(FSLinkResolver.java:90)
        at org.apache.hadoop.fs.FileContext.mkdir(FileContext.java:717)
        at 
org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.createDir(DefaultContainerExecutor.java:426)
        at 
org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.createAppLogDirs(DefaultContainerExecutor.java:547)
        at 
org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.startLocalizer(DefaultContainerExecutor.java:95)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService$LocalizerRunner.run(ResourceLocalizationService.java:995)
2015-02-11 13:03:28,706 INFO 
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl:
 Stopping container with container Id: container_1423062241884_12666_01_000045

I have found an issue regarding this: HADOOP-10622 
(https://www.google.com/url?q=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FHADOOP-10622&sa=D&sntz=1&usg=AFQjCNHjLjEd_GCKDjHpV74tSdZHFT21Wg).
It affects 2.3 and I'm using 2.4.1 but seeing that that it's the same error 
I'll try the patch.

Also as strange behavior after the error I get a lot of this messages in the 
log:

2015-02-11 13:03:38,272 INFO org.apache.hadoop.mapred.ShuffleHandler: Setting 
connection close header...
2015-02-11 13:03:38,277 INFO org.apache.hadoop.mapred.ShuffleHandler: Setting 
connection close header...
2015-02-11 13:03:38,368 INFO org.apache.hadoop.mapred.ShuffleHandler: Setting 
connection close header...
2015-02-11 13:03:38,396 INFO org.apache.hadoop.mapred.ShuffleHandler: Setting 
connection close header...
2015-02-11 13:03:38,427 INFO org.apache.hadoop.mapred.ShuffleHandler: Setting 
connection close header...

Thank you,
Alex

From: Alexandru Pacurar
Sent: Thursday, February 12, 2015 9:42 AM
To: [email protected]
Subject: RE: Time out after 600 for YARN mapreduce application

Hello,

Regarding the AttemptID:attempt_1423062241884_9970_m_000009_0 Timed out after 
600 secs error, I managed to get en extended status for it. The other message 
that I get is java.lang.Exception: Container is not yet running. Current state 
is LOCALIZING. So the container spends 10 minutes in the LOCALIZING state  than 
it fails.

Thank you,
Alex

From: Alexandru Pacurar
Sent: Wednesday, February 11, 2015 1:35 PM
To: [email protected]<mailto:[email protected]>
Subject: RE: Time out after 600 for YARN mapreduce application

Thank you for the quick reply.

I will modify the value to check if this is the threshold I'm hitting, but I 
was thinking of decreasing it because my jobs take to long If they get this 
time out. I would rather fail fast, than keep the cluster busy with jobs stuck 
in timeouts. Ideally I would like to troubleshoot the issue and not fail at all 
:) .

My MR job is not a custom one it is a job from Nutch 1.8 . Actually there are 
several jobs from Nutch that fail (ex: Generator, Indexer ).

Also because this is related to Nutch 1.8 also should I move the question to 
the Nutch mailing list?

Thanks,
Alex

From: Rohith Sharma K S [mailto:[email protected]]
Sent: Wednesday, February 11, 2015 12:32 PM
To: [email protected]<mailto:[email protected]>
Subject: RE: Time out after 600 for YARN mapreduce application

Looking into attemptID, this is mapper task getting timed out in MapReduce job. 
 The configuration that can be used to increase the value is 
'mapreduce.task.timeout'.

The task timed out is because if there is no heartbeat from 
MapperTask(YarnChild) to MRAppMaster for 10 mins.  Does MR job is custom job?  
If so any operation are you doing in cleanup() of Mapper ? Sometimes there 
would be possible that if cleanup() of Mapper is taking more time greater than 
timedout configured that result in task to timeout.


Thanks & Regards
Rohith Sharma K S
From: Alexandru Pacurar [mailto:[email protected]]
Sent: 11 February 2015 15:34
To: [email protected]<mailto:[email protected]>
Subject: Time out after 600 for YARN mapreduce application

Hello,

I keep encountering an error when running nutch on hadoop YARN:

AttemptID:attempt_1423062241884_9970_m_000009_0 Timed out after 600 secs

Some info on my setup. I'm running a 64 nodes cluster with hadoop 2.4.1. Each 
node has 4 cores, 1 disk and 24Gb of RAM, and the namenode/resourcemanager has 
the same specs only with 8 cores.

I am pretty sure one of these parameters is to the threshold I'm hitting:

yarn.am.liveness-monitor.expiry-interval-ms
yarn.nm.liveness-monitor.expiry-interval-ms
yarn.resourcemanager.nm.liveness-monitor.interval-ms

but I would like to understand why.

The issue usually appears under heavier load, and most of the time the on the 
next attempts it is successful. Also if I restart the Hadoop cluster the error 
goes away for some time.

Thanks,
Alex

Reply via email to