Performance tuning for Ozone

Learn how to use the Ozone configuration properties to tune Ozone to work optimally on your cluster.

For performance optimization and to overcome known issues, Cloudera recommends the following additional configurations:
Configuration Property Value Remarks
Ozone > Configuration
Maximum Process File Descriptors 100,000
Java Heap Size of Ozone Manager 31GB
Java Heap Size of Storage Container Manager 31GB
Java Heap Size of Recon 31GB Can be increased to 64GB for higher load.
Java Heap Size of S3 Gateway 31GB
Java Heap Size of DataNode 31GB
Ozone Service Advanced Configuration Snippet (Safety Valve) for ozone-conf/ozone-site.xml
<property>
<name>hdds.prometheus.endpoint.token</name>
<value>*****</value>
<description>Prometheus Token</description>
</property>

Prometheus is an optional role and this configuration can be ignored if Prometheus is not being used.

Disables Prometheus SPNEGO and uses Token Based Authentication.

Ozone > Configuration > Ozone DataNode Advanced Configuration Snippet (Safety Valve) for ozone-conf/ozone-site.xml
ozone.container.cache.size 8192
ozone.container.cache.lock.stripes 8192
hdds.datanode.du.factory.classname org.apache.hadoop.hdds.fs.DedicatedDiskSpaceUsageFactory
dfs.container.ratis.leader.pending.bytes.limit 2GB
Ozone > Configuration > Storage Container Manager Advanced Configuration Snippet (Safety Valve) for ozone-conf/ozone-site.xml
ozone.scm.datanode.pipeline.limit 10 If DataNodes have different number of disks, pick the highest number.
ozone.scm.pipeline.owner.container.count 10
ozone.scm.pipeline.creation.auto.factor.one FALSE
ozone.scm.container.placement.impl org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementCapacity To enable SCM to replicate containers based on capacity available instead of random allocation.
Ozone > Configuration > Ozone Recon Advanced Configuration Snippet (Safety Valve) for ozone-conf/ozone-site.xml
ozone.recon.task.pipelinesync.interval 120s
ozone.recon.task.missingcontainer.interval 3600s
Ozone > Configuration > Ozone Recon Advanced Configuration Snippet (Safety Valve) for ozone-conf/ozone-site.xml
hdds.datanode.replication.work.dir /tmp (is the default value) The /tmp directory is used for staging transient files as part of data replication. Cloudera recommends a minimum of 50 GB size for the Datanode Replication Working Directory. Cloudera recommends you to use SSD for better performance during data replication. It can use the same SSD as datanode metadata.
hdds.datanode.replication.work.dir </path/to/custom/replication/work/dir> To use a non-default directory as Datanode Replication Working Directory
ozone.om.enable.filesystem.paths true
scm.container.client.max.size <number of active pipelines in the cluster>
scm.container.client.idle.threshold 120s