Upgrading a Multi-Server Environment (2.7 or older)
Note: This guide does not apply to customers running 2.7 with SolrCloud. Please contact Professional Services to upgrade to 2.8.
Note: Upgrading a multi-server 2.7 environment to 2.8 will require deleting and rebuilding the entire index.
On the Primary Locator/ViaWorks server, if using Microsoft SQL Server, run the installer normally, entering the database user credentials when prompted then skip to the Secondary Server section. If using PostgreSQL, follow these steps:
Perform a full PostgreSQL backup by executing a command similar to this:
"%ProgramFiles%\ayfie\Locator \PostgreSQL\bin\pg_dump.exe" -i -h localhost -p 5432 -U postgres -F c -f "F:\Backups\Locator.bak" Locator
(where "F:\Backups\Locator.bak" is the path to the backup file)Backup the custom configuration files (although they should not be overwritten by the upgrade):
copy “%ProgramData%\ayfie\Locator\Database\pg_hba.conf” F:\Backups
copy %ProgramData%\ayfie\Locator\Database\postgresql.conf F:\BackupsProceed to upgrade. During the upgrade, the Locator IndexBuilder service will be stopped, upgraded and re-started. If there many pending conversions the system may be CPU bound, slowing down the upgrade process. It’s safe to temporarily stop the Index Builder service until the system is completely upgraded.
Add a new rule to the Windows firewall allowing all traffic inbound on TCP port 8983 for Solr. Run the following from an elevated command prompt. This command will work on Windows Server 2008 R2 or later: Note: this rule was added during the initial configuration, however upgrading to 2.8 could remove it.
netsh advfirewall firewall add rule name="Locator Solr (TPC-In)" protocol=TCP localport=8983 action=allow dir=IN
From an elevated command prompt, edit the file %ProgramData%\ayfie\Locator\Database\postgresql.conf
(Note: If you customized where ProgramData was set during installation, you must enter that full path instead of using the system variable "%ProgramData%")
Search for “#listen_addresses = 'localhost'” and add the following line before it:listen_addresses='*'
- Restart the the Locator Database Service
On the Secondary Locator server:
If using Microsoft SQL Server, run the installer normally, entering the database user credentials when prompted then continue with step 4.
From an elevated command prompt, first make a backup copy and then edit the file %ProgramFiles%\ayfie\Locator\Config\DataAccess.config
Essentially we will revert the changes back to default settings:Change the value of the “ViaDatabaseServer” key to 127.0.0.1.
Remove this line before the </appSettings> line:
<add key="LicensingServiceServer" value="<IPv4_addr>" />
Start the Locator.Database.Service
Proceed with the Locator upgrade.
- The upgrade will enable and start all of the services. Stop all Locator services again in this order:
- All Fetch Services, in any order (e.g. Locator FileServer Fetch Service, Locator Exchange Fetch Service, etc.)
- Locator Index Service
- Locator IndexBuilder Service
- Locator Licensing Service
- Locator Database Service
From an elevated command prompt, first make a backup copy and then edit the file %ProgramFiles%\ayfie\Locator\Config\DataAccess.config
Postgres only: Change the value of the “ViaDatabaseServer” key to reflect the IPv4 address of the Primary Locator server as opposed to the default value of 127.0.0.1.
Edit the ZookeeperHost value from "localhost:9983" to be the host name of the primary server, eg: "hostname:9983"
- Edit the LicensingServiceServer value from "localhost" to the host name of the primary server.
- Edit the Rest Service web.config: "[Drive]:\Program Files\ayfie\Locator \RestService\web.config": change <add key="LicenseHostName" value="localhost" /> to <add key="LicenseHostName value="FQDN_of_primary_server" />
Disable all non-fetch Locator services except the Locator Index Service by executing the command in an elevated PowerShell session:
$fetchServices= Get-Service | Where {$_.DisplayName -like "*Locator *" -and $_.DisplayName -notlike "*Locator *Fetch*" -and $_.DisplayName -notlike "*Index Service*"}
$fetchServices| Set-Service -StartupType Disabled -VerboseStart all of the Locator fetch services by executing the command in an elevated PowerShell session:
Get-Service| Where {$_.DisplayName -like "*Locator *Fetch*" -or $_.DisplayName -like "*Index Service*"} | ForEach-Object {
Start-Service -Name $_.Name -Verbose
Start-Sleep -Seconds 10
}
To reconfigure the secondary server as a web server and SolrCloud node, follow the steps in the Web Server and Solr Cloud Configuration guide.
ayfie