Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
cloudappliance/solrreplication [2020_11_16 11:34] – [Part V] dan | cloudappliance/solrreplication [2020_11_16 11:38] – dan | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Solr Replication for Highly Available EFF Content Search ===== | ===== Solr Replication for Highly Available EFF Content Search ===== | ||
- | == last updated | + | == last updated |
==== Disclaimer ==== | ==== Disclaimer ==== | ||
Line 58: | Line 58: | ||
=== Configuring the Solr === | === Configuring the Solr === | ||
- | You must perform these steps to create a specialized | + | You must perform these steps to create a specialized |
=== Restrict external access | === Restrict external access | ||
- | The solr server does not serve web pages and does not need to be accessible from outside WAN. The only traffic you need to allow is TCP port 7070 from all web frontend servers. | + | The Solr server does not serve web pages and does not need to be accessible from outside WAN. The only traffic you need to allow is TCP port 7070 from all web frontend servers. |
Line 88: | Line 88: | ||
- | Then restart | + | Then restart |
< | < | ||
Line 98: | Line 98: | ||
== Update Configuration to enable ReplicationHandler == | == Update Configuration to enable ReplicationHandler == | ||
- | We will edit the following file in order to turn on the Replication Handler within | + | We will edit the following file in order to turn on the Replication Handler within |
Add the following into this file: / | Add the following into this file: / | ||
Line 162: | Line 162: | ||
== Define Master and Slaves == | == Define Master and Slaves == | ||
- | Each solr instance is configured to be able to act as either a master or a slave. In order to define the state of each we will use core properties. | + | Each Solr instance is configured to be able to act as either a master or a slave. In order to define the state of each we will use core properties. |
On smesql01 to make it master add the following two lines at the bottom of / | On smesql01 to make it master add the following two lines at the bottom of / | ||
Line 178: | Line 178: | ||
</ | </ | ||
- | Finally, we will restart | + | Finally, we will restart |
< | < | ||
Line 388: | Line 388: | ||
== Restart Keepalived == | == Restart Keepalived == | ||
We will now restart keepalived to apply the new configuration. | We will now restart keepalived to apply the new configuration. | ||
- | If this is a running production | + | If this is a running production |
< | < | ||
Line 437: | Line 437: | ||
Settings > Search Integrations | Settings > Search Integrations | ||
- | Replace the solr uri as follows: | + | Replace the Solr uri as follows: |
< | < | ||
http:// | http:// | ||
Line 448: | Line 448: | ||
=== Failover and Recovery === | === Failover and Recovery === | ||
- | In the case of an outage of the solr service, or the smesql01 service, keepalived will fail over traffic to the solr instance running on smesql02. | + | In the case of an outage of the Solr service, or the smesql01 service, keepalived will fail over traffic to the Solr instance running on smesql02. |
- | This process is all automatic. All new solr read and writes will now occur on the smesql02 server without any intervention. | + | This process is all automatic. All new Solr read and writes will now occur on the smesql02 server without any intervention. |
- | However, when smesq01 server/solr service is available again, we will not fail traffic back over in the other direction, as the smesql01 database will NOT contain any of the new indexes created during the outage. Solr replication is setup to run in only one direction at a time, so unlike the mysql setup, the smesql01 | + | However, when smesq01 server/solr service is available again, we will not fail traffic back over in the other direction, as the smesql01 database will NOT contain any of the new indexes created during the outage. Solr replication is setup to run in only one direction at a time, so unlike the mysql setup, the smesql01 |
In order to get the master up to date you will need to change the master/ | In order to get the master up to date you will need to change the master/ | ||
Line 470: | Line 470: | ||
</ | </ | ||
- | Finally, we will restart | + | Finally, we will restart |
< | < |