Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
As trailing map tasks will be attacked by all reduces simultaneously, all the worker threads that for the http server of a TaskTracker may be occupied by one job's reduce tasks to fetch map outputs. Then this tasktracker's iowait and load will be very high (100+ in our cluster, we set tasktracker.http.threads with 100). What's more, other job's reduces have to wait some time (may be several minutes) to connect to the TaskTracker to fetch there map's outputs.
So I think we should implement limits on shuffle connections:
1. limit the worker threads' number maybe percent occupied the same job's reduces ;
2. limit the worker threads' number serving the same map output simultaneously.
Thoughts?
ps: we are using hadoop 0.19.