When you provision a new data domain, Endeca Server first determines whether it has sufficient capacity to host the data domain, and if yes, decides which nodes will host the Dgraph processes for the data domain. This topic summarizes the configuration parameters that affect these calculations, so that you, as a system administrator of the Endeca Server cluster can take them into account when configuring or administering your Endeca Server cluster.
endeca-memory-to-index-size-ratio x indexes-size + computeCacheSizeMBwhere:
numCpuCores x endeca-threads-allowed-per-corewhere:
If the number obtained in this formula is larger than the "total number of threads used" — on all the Dgraphs and on all Endeca Server nodes, then the Endeca Server attempts to allocate threads to the new data domain.
Here is another way to interpret this formula: If the user who wants to create a new data domain asks for more than the total number of threads required on the Endeca Server node so that it can host both the existing data domains and the new one, then allocation of that Endeca Server node to the data domain cannot occur, and the Endeca Server proceeds to look for other nodes in the cluster to allocate this data domain. If no nodes are found with enough threads to host the Dgraph processes for the new data domain, the data domain is not created.
Once the Endeca Server determines that it has sufficient capacity to host a data domain, it decides which Endeca Server nodes will host the particular Dgraph processes for the data domain.
For example, in a three-node Endeca Server cluster, you cannot create a data domain with five Dgraph nodes. For this data domain to be created, the number of Endeca Server nodes would need to also increase to five. The Manage Web Service of the Endeca Server returns a fault to any request that attempts to create or rescale a data domain beyond the number of Endeca Server nodes in the cluster.