Posted: 29 Jan 2018 6:01 EST Last activity: 30 Jan 2018 10:45 EST
Elastic search indexing in a multi-node setup
It will be great if you could clarify the below queries
1. In a multi-node setup, do we have to configure SearchSOAPURI (DSS) even for Elastic search?
1a.)If no, how does search works in the node which is not added as indexing host node in search landing page?
1b.) If yes, what will the value of the following DSS indexing/hostid,indexing/hostname,SearchSoapURI & indexing/explicitindexdir if two nodes are added as indexing host nodes in the search landing page
2. What is the significance of node to node communication via tcp 9300-9400 in Elastic search? Does it helps in building the index files or retrieving data while performing a search in Pega ?
***Updated by moderator: Lochan to branch reply and create new post***
It may help to know what version of Pega this applies to, but I think I can answer without that.
1) No. Anything that is required can be set on the System: Settings landing page on the search tab.
1a) Any DSS values that are required by other nodes will be set automatically when you enter values on the Search tab.
2) When building the initial indexes, the communication via those ports does not have an impact, assuming the node you are logged into is the one you start building the indexes on. I've not tried it, but if you didn't have those ports open and attempted to start indexing on a different node than what you are logged into, that might cause the process to not start. Those ports are primarily needed for performing searches from nodes not hosting the index files and during incremental indexing, where non-indexing host nodes pick up and process updates for the indexes.
Thanks for the reply. So those DSS settings (SearchSoapURI,explicitindexdir,hostname) are meant only for Lucene search, is it?
To give you a background please find below our stack
Tomcat 8.5 running as docker containers on Linux
Currently we have two Pega nodes running in an Active-Active setup.
Search is working in both the nodes only if we add both the nodes under "Search index host node settings" on the search landing page & index. Also If i am logged into node 1 the node status shows "online" for node 1 & "offline" for node 2 and vice-versa happens if i am logged into node2.
If i just add a single node under "Search index host node settings" & have the tcp ports 9300-9400 opened between the nodes neither the search is working (on the other node) nor the index files are updated inside the index file directory on the other node
Both the observation and issue sound like a communication issue preventing elasticsearch from working across nodes. A starting point to troubleshoot that would be do enable debug on the following logger (which will produce a message about it not existing): com.pega.pegarules.search.internal.es