Removing secondary nodes from a multi-node installation

If the server was configured only as a Fetch server

On secondary node

Take the secondary node offline (if it wasn't yet) and purge the Locator software from it.

On primary node

Stop the Index Builder service on Primary node

In Management Console:

Remove schedule for the removed node.

In PostgreSQL:

DELETE FROM config.connector_status where connector_id in (select connector_id from config.connector where server_id in (select server_id from config.via_works_server where computer_name='<name>'));
DELETE FROM config.connector where server_id in (select server_id from config.via_works_server where computer_name='<name>');
DELETE FROM config.converter_setting where converter_id in (SELECT converter_id FROM config.converter where server_id in (select server_id from config.via_works_server where computer_name='<name>'));
DELETE FROM config.converter where server_id in (select server_id from config.via_works_server where computer_name='<name>');
DELETE FROM config.server_server_role where server_id in (select server_id from config.via_works_server where computer_name='<name>');
DELETE from config.via_works_server where computer_name='<name>';

Where <name> is the name of the machine specified in via_works_server.

Now restart the Index Builder service.

If the server was configured as a Search server or both a Search and Fetch server

If the secondary node is failed:

Take the node offline (if it wasn't yet) and purge the Locator software from the node.

Primary node:

Stop the Index Builder service.

In Management Console:

If the secondary node was configured as both Search and Fetch server, remove schedule for the removed node.

In PostgreSQL:

DELETE FROM config.connector_status where connector_id in (select connector_id from config.connector where server_id in (select server_id from config.via_works_server where computer_name='<name>'));
DELETE FROM config.connector where server_id in (select server_id from config.via_works_server where computer_name='<name>');
DELETE FROM config.converter_setting where converter_id in (SELECT converter_id FROM config.converter where server_id in (select server_id from config.via_works_server where computer_name='<name>'));
DELETE FROM config.converter where server_id in (select server_id from config.via_works_server where computer_name='<name>');
DELETE FROM config.server_server_role where server_id in (select server_id from config.via_works_server where computer_name='<name>');
DELETE from config.via_works_server where computer_name='<name>';

Where <name> is the name of the machine specified in via_works_server.

If the secondary node is functional:

It may be possible to move SOLR collections to another node using REPLACENODE : https://lucene.apache.org/solr/guide/6_6/collections-api.html

After doing that, take the node offline (if it wasn't yet) and purge the Locator software from the node.

If the secondary node is failed or REPLACENODE attempt did not succeed:

If the removed node was configured as a search server, you will need to reconfigure SOLR with the former node removed. See Web Server and Solr Cloud Configuration.

After that you need to do a full index rebuild - use the  Via.repository tool to Reindex all data (use the parameter /all), restart the Index Builder service and monitor the reindexing

If repositories fail to reindex, stop Index Builder, use the  Via.repository tool to Purge each repository indicated by Locator Dashboard (/all will not work, each repository to purge has to be specified explicitly), restart the Index Builder service monitor the reindexing

Now restart the Index Builder service on Primary node.


ayfie