You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: hadoop-hdds/docs/content/feature/multi-raft-support.md
+20-7Lines changed: 20 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,25 +71,34 @@ Ratis handles concurrent logs per node.
71
71
72
72
### Calculating Ratis Pipeline Limits
73
73
74
-
The target number of open, FACTOR_THREE Ratis pipelines is controlled by three properties that define the maximum number of pipelines in the cluster at a cluster-wide level, datanode level, and metadata disk level, respectively. SCM will create pipelines until the most restrictive limit is met.
74
+
The target number of open, FACTOR_THREE Ratis pipelines is controlled by three properties that define the maximum
75
+
number of pipelines in the cluster at a cluster-wide level, datanode level, and metadata disk level, respectively.
76
+
SCM will create pipelines until the most restrictive limit is met.
***Description**: An absolute, global limit for the total number of open, FACTOR_THREE Ratis pipelines across the entire cluster. This acts as a final cap on the total number of pipelines.
79
+
***Description**: An absolute, global limit for the total number of open, FACTOR_THREE Ratis pipelines
80
+
across the entire cluster. This acts as a final cap on the total number of pipelines.
78
81
***Default Value**: `0` (which means no global limit is enforced by default).
***Description**: When set to a positive number, this property defines a fixed maximum number of pipelines for every datanode. This is one of two ways to calculate a cluster-wide target.
84
+
***Description**: When set to a positive number, this property defines a fixed maximum number of pipelines for
85
+
every datanode. This is one of two ways to calculate a cluster-wide target.
82
86
***Default Value**: `2`
83
87
***Calculation**: If this is set, the target is `(<this value> * <number of healthy datanodes>) / 3`.
***Description**: This property is used only when `ozone.scm.datanode.pipeline.limit` is explicitly set to `0`. It calculates a dynamic limit for each datanode based on its available metadata disks.
90
+
***Description**: This property is used only when `ozone.scm.datanode.pipeline.limit` is explicitly set to `0`.
91
+
It calculates a dynamic limit for each datanode based on its available metadata disks.
87
92
***Default Value**: `2`
88
-
***Calculation**: The limit for each datanode is `(<this value> * <number of metadata disks on that datanode>)`. The total cluster-wide target is the sum of all individual datanode limits, divided by 3.
93
+
***Calculation**: The limit for each datanode is
94
+
`(<this value> * <number of metadata disks on that datanode>)`.
95
+
The total cluster-wide target is the sum of all individual datanode limits, divided by 3.
89
96
90
97
#### How Limits are Applied
91
98
92
-
SCM first calculates a target number of pipelines based on either the **Datanode-level Fixed Limit** or the **Datanode-level Dynamic Limit**. It then compares this calculated target to the **Cluster-wide Limit**. The **lowest value** is used as the final target for the number of open pipelines.
99
+
SCM first calculates a target number of pipelines based on either the **Datanode-level Fixed Limit** or the
100
+
**Datanode-level Dynamic Limit**. It then compares this calculated target to the **Cluster-wide Limit**. The
101
+
**lowest value** is used as the final target for the number of open pipelines.
93
102
94
103
**Example (Dynamic Limit):**
95
104
@@ -112,7 +121,11 @@ SCM will attempt to create and maintain approximately **24** open, FACTOR_THREE
112
121
113
122
**Production Recommendation:**
114
123
115
-
For most production deployments, using the dynamic per-disk limit (`ozone.scm.datanode.pipeline.limit=0`) is recommended, as it allows the cluster to scale pipeline capacity naturally with its resources. You can use the global limit (`ozone.scm.ratis.pipeline.limit`) as a safety cap if needed. A good starting value for `ozone.scm.pipeline.per.metadata.disk` is **2**. Monitor the `NumOpenPipelines` metric in SCM to see if the actual number of pipelines aligns with your configured targets.
124
+
For most production deployments, using the dynamic per-disk limit (`ozone.scm.datanode.pipeline.limit=0`) is
125
+
recommended, as it allows the cluster to scale pipeline capacity naturally with its resources. You can use the
126
+
global limit (`ozone.scm.ratis.pipeline.limit`) as a safety cap if needed. A good starting value for
127
+
`ozone.scm.pipeline.per.metadata.disk` is **2**. Monitor the `NumOpenPipelines` metric in SCM to see if the
128
+
actual number of pipelines aligns with your configured targets.
0 commit comments