Placement Policy for Ratis Containers

The default placement policy for Ratis containers is SCMContainerPlacementRackAware.

SCMContainerPlacementRackAware

This policy requires container replicas to be present on at least two racks or one rack if only one is available. It provides rack failure tolerance. If the replication factor is three, this policy places two replicas on one rack and the third on a different rack. It is also valid for all three replicas to be present on different racks. Cloudera recommends this policy when you are using a network topology with racks.

SCMContainerPlacementCapacity

If the cluster’s network topology is not using multiple racks, Cloudera recommends you use SCMContainerPlacementCapacity. This placement policy leads to an I/O pattern where the lower utilized nodes are favoured more than the higher utilized nodes for placing containers. However, a part of the I/O will still go to the higher-utilized nodes.

SCMContainerPlacementRandom

This placement policy randomly selects healthy DataNodes without considering racks or node utilizations.

Procedure to configure for Ratis Containers

  1. Log in to Cloudera Manager UI.
  2. Navigate to Clusters.
  3. Select the Ozone service.
  4. Go to Configurations.
  5. Search for Storage Container Manager Advanced Configuration Snippet (Safety Valve) for ozone-conf/ozone-site.xml.
  6. Define the Placement Policy for ozone.scm.container.placement.impl. For example, org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRackAware.
  7. Click Save.