hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bryan Beaudreault (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-5837) dfs.namenode.replication.considerLoad does not consider decommissioned nodes
Date Mon, 27 Jan 2014 18:45:49 GMT
Bryan Beaudreault created HDFS-5837:

             Summary: dfs.namenode.replication.considerLoad does not consider decommissioned
                 Key: HDFS-5837
                 URL: https://issues.apache.org/jira/browse/HDFS-5837
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: namenode
            Reporter: Bryan Beaudreault

In DefaultBlockPlacementPolicy, there is a setting dfs.namenode.replication.considerLoad which
tries to balance the load of the cluster when choosing replica locations.  This code does
not take into account decommissioned nodes.

The code for considerLoad calculates the load by doing:  TotalClusterLoad /
numNodes.  However, numNodes includes decommissioned nodes (which have 0 load).  Therefore,
the average load is artificially low.  Example:

TotalLoad = 250
numNodes = 100
decommissionedNodes = 50

avgLoad = 250/100 = 2.50
trueAvgLoad = 250 / (100 - 70) = 8.33

If the real load of the remaining 30 nodes is (on average) 8.33, this is more than 2x the
calculated average load of 2.50.  This causes these nodes to be rejected as replica locations.
The final result is that all nodes are rejected, and no replicas can be placed.  

See exceptions printed from client during this scenario: https://gist.github.com/bbeaudreault/49c8aa4bb231de54e9c1

This message was sent by Atlassian JIRA

View raw message