Hi Meraj, What do the logs for the map tasks tell you about the URLs being fetched?
J. On 17 October 2014 19:08, Meraj A. Khan <[email protected]> wrote: > Julien, > > Thanks for your suggestion , I looked at the jstack thread dumps , and I > could see that the fetcher threads are in a waiting state and actually the > map phase is not yet complete looking at the JobClient console. > > 14/10/15 12:09:48 INFO mapreduce.Job: map 95% reduce 31% > 14/10/16 07:11:20 INFO mapreduce.Job: map 96% reduce 31% > 14/10/17 01:20:56 INFO mapreduce.Job: map 97% reduce 31% > > And the following is the kind of statements I see in the jstack thread > dump for Hadoop child processes, is it possible that these map tasks are > actually waiting on a particular host with some excessive crawl-delay , I > already had the fetcher.threads.per.queue to 5 , fetcher.server.delay to 0, > fetcher.max.crawl.delay to 10 and http.max.delays to 1000 . > > Please see the jstack log info for the child processes below. > > Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode): > > "Attach Listener" daemon prio=10 tid=0x00007fecf8c58000 nid=0x32e5 waiting > on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "IPC Client (638223659) connection to /170.75.153.162:40980 from > job_1413149941617_0059" daemon prio=10 tid=0x0000000001a5c000 nid=0xce8 in > Object.wait() [0x00007fecdf80e000] > java.lang.Thread.State: TIMED_WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f8bf48> (a > org.apache.hadoop.ipc.Client$Connection) > at org.apache.hadoop.ipc.Client$Connection.waitForWork(Client.java:899) > - locked <0x0000000099f8bf48> (a > org.apache.hadoop.ipc.Client$Connection) > at org.apache.hadoop.ipc.Client$Connection.run(Client.java:944) > > "fetcher#5" daemon prio=10 tid=0x00007fecf8c49000 nid=0xce7 in > Object.wait() [0x00007fecdf90f000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at java.lang.Object.wait(Object.java:503) > at > > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368) > - locked <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at > org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161) > > "fetcher#4" daemon prio=10 tid=0x00007fecf8c47000 nid=0xce6 in > Object.wait() [0x00007fecdfa10000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at java.lang.Object.wait(Object.java:503) > at > > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368) > - locked <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at > org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161) > > "fetcher#3" daemon prio=10 tid=0x00007fecf8c45800 nid=0xce5 in > Object.wait() [0x00007fecdfb11000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at java.lang.Object.wait(Object.java:503) > at > > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368) > - locked <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at > org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161) > > "fetcher#2" daemon prio=10 tid=0x00007fecf8c31800 nid=0xce4 in > Object.wait() [0x00007fecdfc12000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at java.lang.Object.wait(Object.java:503) > at > > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368) > - locked <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at > org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161) > > "fetcher#1" daemon prio=10 tid=0x00007fecf8c2f800 nid=0xce3 in > Object.wait() [0x00007fecdfd13000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at java.lang.Object.wait(Object.java:503) > at > > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368) > - locked <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at > org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161) > > "EventFetcher for fetching Map Completion Events" daemon prio=10 > tid=0x00007fecf8c2d800 nid=0xce2 waiting on condition [0x00007fecdfe14000] > java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > > org.apache.hadoop.mapreduce.task.reduce.EventFetcher.run(EventFetcher.java:73) > > "OnDiskMerger - Thread to merge on-disk map-outputs" daemon prio=10 > tid=0x00007fecf8c26800 nid=0xce1 in Object.wait() [0x00007fecdff15000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f63918> (a java.util.LinkedList) > at java.lang.Object.wait(Object.java:503) > at > > org.apache.hadoop.mapreduce.task.reduce.MergeThread.run(MergeThread.java:87) > - locked <0x0000000099f63918> (a java.util.LinkedList) > > "InMemoryMerger - Thread to merge in-memory shuffled map-outputs" daemon > prio=10 tid=0x00007fecf8c22800 nid=0xce0 in Object.wait() > [0x00007fece0016000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f61f90> (a java.util.LinkedList) > at java.lang.Object.wait(Object.java:503) > at > > org.apache.hadoop.mapreduce.task.reduce.MergeThread.run(MergeThread.java:87) > - locked <0x0000000099f61f90> (a java.util.LinkedList) > > "ShufflePenaltyReferee" daemon prio=10 tid=0x00007fecf8c1a000 nid=0xcdf > waiting on condition [0x00007fece0117000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x0000000099f63100> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) > at > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) > at java.util.concurrent.DelayQueue.take(DelayQueue.java:209) > at > > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl$Referee.run(ShuffleSchedulerImpl.java:488) > > "communication thread" daemon prio=10 tid=0x00007fecf8c0b000 nid=0xcd8 in > Object.wait() [0x00007fece022e000] > java.lang.Thread.State: TIMED_WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f5ef30> (a java.lang.Object) > at org.apache.hadoop.mapred.Task$TaskReporter.run(Task.java:719) > - locked <0x0000000099f5ef30> (a java.lang.Object) > at java.lang.Thread.run(Thread.java:744) > > "Thread for syncLogs" daemon prio=10 tid=0x00007fecf8a93800 nid=0xcd2 > waiting on condition [0x00007fece0430000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x0000000099b9c710> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at > java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) > at > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) > at > > java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090) > at > > java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807) > at > > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > > "IPC Parameter Sending Thread #0" daemon prio=10 tid=0x00007fecf8a9f000 > nid=0xcc7 waiting on condition [0x00007fece032f000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x0000000099b526c0> (a > java.util.concurrent.SynchronousQueue$TransferStack) > at > java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) > at > > java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) > at > > java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359) > at > java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942) > at > > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > > "Timer for 'ReduceTask' metrics system" daemon prio=10 > tid=0x00007fecf8958000 nid=0xcc1 in Object.wait() [0x00007fece0b98000] > java.lang.Thread.State: TIMED_WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099b9cce0> (a java.util.TaskQueue) > at java.util.TimerThread.mainLoop(Timer.java:552) > - locked <0x0000000099b9cce0> (a java.util.TaskQueue) > at java.util.TimerThread.run(Timer.java:505) > > "Service Thread" daemon prio=10 tid=0x00007fecf80a4800 nid=0xc6b runnable > [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "C2 CompilerThread1" daemon prio=10 tid=0x00007fecf80a2800 nid=0xc6a > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "C2 CompilerThread0" daemon prio=10 tid=0x00007fecf809f800 nid=0xc69 > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "Signal Dispatcher" daemon prio=10 tid=0x00007fecf8095000 nid=0xc68 > runnable [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "Finalizer" daemon prio=10 tid=0x00007fecf807e000 nid=0xc60 in > Object.wait() [0x00007fecec83c000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099a1e040> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) > - locked <0x0000000099a1e040> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189) > > "Reference Handler" daemon prio=10 tid=0x00007fecf807a000 nid=0xc5f in > Object.wait() [0x00007fecec93d000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099aeb3e0> (a java.lang.ref.Reference$Lock) > at java.lang.Object.wait(Object.java:503) > at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) > - locked <0x0000000099aeb3e0> (a java.lang.ref.Reference$Lock) > > "main" prio=10 tid=0x00007fecf800f800 nid=0xc4f in Object.wait() > [0x00007fed00948000] > java.lang.Thread.State: TIMED_WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at > > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.waitUntilDone(ShuffleSchedulerImpl.java:443) > - locked <0x0000000099f62a68> (a > org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl) > at > org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:129) > at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:376) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163) > > "VM Thread" prio=10 tid=0x00007fecf8077800 nid=0xc5e runnable > > "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fecf8025800 nid=0xc54 > runnable > > "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fecf8027000 nid=0xc55 > runnable > > "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fecf8029000 nid=0xc56 > runnable > > "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fecf802b000 nid=0xc57 > runnable > > "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007fecf802c800 nid=0xc58 > runnable > > "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007fecf802e800 nid=0xc59 > runnable > > "GC task thread#6 (ParallelGC)" prio=10 tid=0x00007fecf8030800 nid=0xc5a > runnable > > "GC task thread#7 (ParallelGC)" prio=10 tid=0x00007fecf8032800 nid=0xc5b > runnable > > "VM Periodic Task Thread" prio=10 tid=0x00007fecf80af800 nid=0xc6c waiting > on condition > > JNI global references: 255 > > > > On Thu, Oct 16, 2014 at 5:20 AM, Julien Nioche < > [email protected]> wrote: > > > Hi Meraj > > > > You could call jstack on the Java process a couple of times to see what > it > > is busy doing, that will be a simple of way of checking that this is > indeed > > the source of the problem. > > See https://issues.apache.org/jira/browse/NUTCH-1314 for a possible > > solution > > > > J. > > > > On 16 October 2014 06:08, Meraj A. Khan <[email protected]> wrote: > > > > > Hi All, > > > > > > I am running into a situation where the reduce phase of the fetch job > > with > > > parsing enabled at the time of fetch is taking excessively long amount > of > > > time , I have seen recommendations to filter the URLs based on length > to > > > avoid normalization related delays ,I am not filtering any URLs based > on > > > length , could that be an issue ? > > > > > > Can anyone share if they faced this issue and what the resolution was, > I > > am > > > running Nutch 1.7 on Hadoop YARN. > > > > > > The issue was previously inconclusively discussed here. > > > > > > > > > > > > http://markmail.org/message/p6dzvvycpfzbaugr#query:+page:1+mid:p6dzvvycpfzbaugr+state:results > > > > > > Thanks. > > > > > > > > > > > -- > > > > Open Source Solutions for Text Engineering > > > > http://digitalpebble.blogspot.com/ > > http://www.digitalpebble.com > > http://twitter.com/digitalpebble > > > -- Open Source Solutions for Text Engineering http://digitalpebble.blogspot.com/ http://www.digitalpebble.com http://twitter.com/digitalpebble

