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 ViaWorks server, if using Microsoft SQL Server, run the installer normally. If using PostgreSQL, follow these steps:
Perform a full PostgreSQL backup by executing a command similar to this:
"%ProgramFiles%\Virtual Works\ViaWorks\PostgreSQL\bin\pg_dump.exe" -i -h localhost -p 5432 -U postgres -F c -f "F:\Backups\viaworks.bak" ViaWorks
(where "F:\Backups\viaworks.bak" is the path to the backup file)Backup the custom configuration files (although they should not be overwritten by the upgrade):
copy “%ProgramData%\Virtual Works\ViaWorks\Database\pg_hba.conf” F:\Backups
copy %ProgramData%\Virtual Works\ViaWorks\Database\postgresql.conf F:\BackupsProceed to upgrade. During the upgrade, the ViaWorksIndexBuilder 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="ViaWorks Solr (TPC-In)" protocol=TCP localport=8983 action=allow dir=IN
From an elevated command prompt, edit the file %ProgramData%\Virtual Works\ViaWorks\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 ViaWorks Database Service
On the Secondary ViaWorks server:
From an elevated command prompt, first make a backup copy and then edit the file %ProgramFiles%\Virtual Works\ViaWorks\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 ViaWorks.Database.Service
There are two methods to upgrading the secondary server: 1) Proceed with the ViaWorks upgrade and follow the steps below to manually configure it as a secondary server or 2) uninstall ViaWorks and reinstall using the Custom install option to automate some of these steps. If using method 2, continue with the steps in the original Install/Configuration guide starting at the Secondary Server steps.
- The upgrade will enable and start all of the services. Stop all ViaWorks services again in this order:
- All Fetch Services, in any order (e.g. ViaWorks FileServer Fetch Service, ViaWorks Exchange Fetch Service, etc.)
- ViaWorks Index Service
- ViaWorks IndexBuilder Service
- ViaWorks Licensing Service
- ViaWorks Database Service
From an elevated command prompt, first make a backup copy and then edit the file %ProgramFiles%\Virtual Works\ViaWorks\Config\DataAccess.config
Change the value of the “ViaDatabaseServer” key to reflect the IPv4 address of the Primary ViaWorks 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\VirtualWorks\ViaWorks\RestService\web.config": change <add key="LicenseHostName" value="localhost" /> to <add key="LicenseHostName value="FQDN_of_primary_server" />
Disable all non-fetch ViaWorks services except the ViaWorks Index Service by executing the command in an elevated PowerShell session:
$fetchServices= Get-Service | Where {$_.DisplayName -like "*ViaWorks*" -and $_.DisplayName -notlike "*ViaWorks*Fetch*" -and $_.DisplayName -notlike "*Index Service*"}
$fetchServices| Set-Service -StartupType Disabled -VerboseStart all of the ViaWorks fetch services by executing the command in an elevated PowerShell session:
Get-Service| Where {$_.DisplayName -like "*ViaWorks*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.