hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [hadoop] hadoop-yetus commented on a change in pull request #1562: HDFS-14546-Block Placement Policy Doc
Date Tue, 01 Oct 2019 15:38:26 GMT
hadoop-yetus commented on a change in pull request #1562: HDFS-14546-Block Placement Policy
URL: https://github.com/apache/hadoop/pull/1562#discussion_r330129263

 File path: hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/HdfsBlockPlacementPolicies.md
 @@ -0,0 +1,98 @@
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+   http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  See the License for the specific language governing permissions and
+  limitations under the License. See accompanying LICENSE file.
+* [Block Placement Policies](#Block_Placement_Policies)
+	* [Introduction](#Introduction)
+	* [Additional Types of Policies](#Policy_Types)
+		* [BlockPlacementPolicyRackFaultTolerant](#Block_PlacementPolicy_RackFaultTolerant)
+		* [BlockPlacementPolicyWithNodeGroup](#BlockPlacementPolicy_With_NodeGroup)
+		* [BlockPlacementPolicyWithUpgradeDomain](#BlockPlacementPolicy_With_UpgradeDomain)
+By default HDFS supports BlockPlacementPolicyDefault. Where one block on local and copy on
2 different nodes of same remote rack. Additional to this HDFS supports 3 different pluggable
block placement policies. Users can choose the policy based on their infrastructre and use
case. This document describes the detailed information about the type of policies with its
use cases and configuration.
+### BlockPlacementPolicyRackFaultTolerant
+BlockPlacementPolicyRackFaultTolerant can be used to split the placement of blocks across
multiple rack.By default with replication of 3 BlockPlacementPolicyDefault will  put one replica
on the local machine if the writer is on a datanode, otherwise on a random datanode in the
same rack as that of the writer, another replica on a node in a different (remote) rack, and
the last on a different node in the same remote rack. So totally 2 racks will be used, in
sceneraio like 2 racks going down at the same time will cause data inavailability where using
BlockPlacementPolicyRackFaultTolerant will helop in placing 3 blocks on 3 different racks.
+![Rack Fault Tolerant Policy](images/RackFaultTolerant.jpg)
+  <name>dfs.block.replicator.classname</name>
+  <value>org.apache.hadoop.hdfs.server.namenode.BlockPlacementPolicyRackFaultTolerant</value>
+### BlockPlacementPolicyWithNodeGroup
+With new 3 layer hierarchical topology, a node group level got introduced, which maps well
onto a infrastructure that is based on a virtulized environment. In Virtualized environment
multiple vm's will be hosted on same physical machine. Vm's on the same physical host are
affected by the same hardware failure. So mapping the physical host a node groups this block
placement gurantees that it will never place more than one replica on the same node group
(physical host), in case of node group failure, only one replica will be lost at the maximum.

 Review comment:
   whitespace:end of line

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

With regards,
Apache Git Services

To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org

View raw message