In Smile CDR 2020.02.R01, the clustering mechanism for Smile CDR was completely redesigned. This was done in order to simplify clustering and in particular to make it easier to support Docker-based clustering mechanisms such as Kubernetes.
On this page, we will refer to this new clustering design as 2020.02 clustering, and the previous design as 2019.11 clustering.
The primary change to be aware of in the 2020.02 clustering is that the concept of Master Nodes and Clone Nodes has been completely removed. It is still possible to design clusters that perform functionally identically to ni 2019.11 clustering, but you will no longeer need to explicitly designate one of your nodes as a master and the rest as clones.
Instead you will create one or more nodes, each having a set of modules. If you wish to scale any of these nodes up, you will simply start more Smile CDR processes with the same Node ID and Cluster Manager module configuration.
The following table shows key concepts from the old and new clustering mechanisms.
|2019.11 Cluster Concept||2020.02 Equivalent|
|Master Node||Node + 1st Node Process|
|Clone Node||Node + subsequent Node Processes|
The good news is that migrating existing clusters is very easy. There are two steps to follow:
Any existing Clone Nodes should have the following two properties in the Node Configuration Properties File. In this example, we have a clone node named
Clone which is a clone of the Master node
To migrate this file to the 2020.02 cluster design, these two entries in the Node Configuration Properties File would be replaced with the following single entry.
In other words, what was previously the
node.clone value should now be the
node.id value (meaning that all processes for a given node will have the same ID).
Note that in order to help with migration, if Smile CDR detects the deprecated
node.clone property in the file, it will automatically use this as the
node.id value. This means that technically this step can be skipped, although we do still recommend migrating as this behavior may be removed in a future release.