Details
Description
For an easy-to-read summary see: http://www.ebaytechblog.com/2014/08/21/quality-of-service-in-hadoop/
Several production Hadoop cluster incidents occurred where the Namenode was overloaded and failed to respond.
We can improve quality of service for users during namenode peak loads by replacing the FIFO call queue with a Fair Call Queue. (this plan supersedes rpc-congestion-control-draft-plan).
Excerpted from the communication of one incident, “The map task of a user was creating huge number of small files in the user directory. Due to the heavy load on NN, the JT also was unable to communicate with NN...The cluster became responsive only once the job was killed.”
Excerpted from the communication of another incident, “Namenode was overloaded by GetBlockLocation requests (Correction: should be getFileInfo requests. the job had a bug that called getFileInfo for a nonexistent file in an endless loop). All other requests to namenode were also affected by this and hence all jobs slowed down. Cluster almost came to a grinding halt…Eventually killed jobtracker to kill all jobs that are running.”
Excerpted from HDFS-945, “We've seen defective applications cause havoc on the NameNode, for e.g. by doing 100k+ 'listStatus' on very large directories (60k files) etc.”
Attachments
Attachments
Issue Links
- depends upon
-
HADOOP-10508 RefreshCallQueue fails when authorization is enabled
- Closed
- is related to
-
HADOOP-9194 RPC Support for QoS
- Closed
-
HDFS-945 Make NameNode resilient to DoS attacks (malicious or otherwise)
- Resolved
- relates to
-
HDFS-237 Better handling of dfsadmin command when namenode is slow
- Resolved
-
HADOOP-10598 Support configurable RPC fair share
- Open
-
HADOOP-10599 Support prioritization of DN RPCs over client RPCs
- Open
-
HADOOP-13029 Have FairCallQueue try all lower priority sub queues before backoff
- Open
-
HADOOP-15481 Emit FairCallQueue stats as metrics
- Resolved
-
HADOOP-10286 Allow RPCCallBenchmark to benchmark calls by different users
- Patch Available