Locator supports the deployment of multiple Locator servers, configured to work together to index documents from the various data sources within the customer environment. In a multi-server scenario, the primary Locator server will be used to establish connections, "crawl" and discover documents to be indexed from each connection, and perform the conversion and indexing, while the secondary servers are used strictly to assist in the conversion process. This document describes the process of deploying a secondary Locator server to enable the additional server to fetch and convert documents.
Prerequisites
- See Introduction to Multi-Node Installations
- A primary Locator Server configured for a multi-server environment, see Installing/configuring a Primary Server in a multi-server environment
Installing a Locator Fetch Server in a multi-server environment
- In the Locator Installer choose Custom Install
- On the Server Address page, replace localhost with the primary server hostname for the Licensing service address field
- For the Zookeeper address, replace localhost with the primary server IPV4 address and keep the port :9983
- If using PostgreSQL, on the Database Information page, leave the drop down as PostgreSQL and the database name as Locator.
- If using Microsoft SQL, on the Database Information page, change the drop down as Microsoft SQL Server and fill in the database server hostname, database name and database user account credentials. Click Verify Connection
- Choose the following components: IMPORTANT: Admin dashboard needs to be installed as well (update image below)
- Finish the installer and wait for the installation to complete.
Configuring a Locator Fetch Server in a multi-server environment
Before you start: If you plan to use the server as both a search and fetch server, you need to skip the step disabling the Via.Index.Service and make sure the server is configured as a search server. See Installing/Configuring a Secondary Search Server.
- Make sure you have installed and configured the primary Locator Server, see Installing/configuring a Primary Server in a multi-server environment
- Once installed, stop all Locator services in the specified order. This can be accomplished either manually, via the Windows Services UI, or from a PowerShell session.
Windows Services UI Method
From the Windows Services app, stop each Locator Service in the following order:- All Fetch Services, in any order (e.g. ayfie FileServer Fetch Service, ayfie Exchange Fetch Service, etc.)
- Locator IndexBuilder Service (if existing)
- Locator Index Service (if existing)
- Locator Licensing Service (if existing)
- Locator Database Service
PowerShell Method
Paste the following code into an elevated PowerShell session to stop all Locator services:# Create an array of Locator service names in the order they should be stopped. Get the fetch services first. $vwServices= Get-Service | Where { $_.DisplayName -like "*ViaWorks*Fetch*" -or $_.DisplayName -like "*Locator*Fetch*" -or $_.DisplayName -like "*ayfie*Fetch*"} # These services must be stopped in this order after fetch services are stopped. $vwServiceNames = @( "ViaWorksIndexBuilder", "Via.Index.Service", "Via.Licensing.Service", "ViaWorksDatabaseService" ) # Add to the array of services for each of the additional services that are NOT fetch services foreach ($n in $vwServiceNames) { $vwServices += (Get-Service -Name $n) } # Stop each Locator service $vwServices| ForEach-Object { Stop-Service $_.Name -Verbose }
NOTE: IndexBuilder, Index.Service and Licencing.Service might not be installed (if following instructions on this page) and will produce errors that can be ignored. A change in the script that checks if the service exists would be great.
From Locator 2.11 and above: The ayfie Authority Service is available from Locator 2.11. This component should not have been selected during Custom Install. If installed on the Fetch Server anyway, stop and disable the ayfie Authority service. Perform this manually from the Services UI by executing the command in an elevated PowerShell session:
$authorityService= Get-Service | Where {$_.DisplayName -like "ayfie Authority Service"} $authorityService| ForEach-Object {Stop-Service $_.Name -Verbose} $authorityService| Set-Service -StartupType Disabled -Verbose
Postgres only: If you used Custom Install Path in the Locator Installer these values should have already been set. Please verify in %ProgramFiles%\ayfie\Locator\Config\DataAccess.config. If the values are localhost, do the following from an elevated command prompt, first make a backup copy and then edit the file %ProgramFiles%\ayfie\Locator\Config\DataAccess.config
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.
Add this line before the </appSettings> line:
<add key="LicensingServiceServer" value="<IPv4_addr>" />
Where <IPv4_addr> is the IPv4 address of the Primary Locator server.
Disable all non-fetch Locator services by executing the command in an elevated PowerShell session:
# These services must be stopped in this order after fetch services are stopped. $vwServiceNames = @( "ViaWorksIndexBuilder", "Via.Index.Service", "Via.Licensing.Service", "ViaWorksDatabaseService" ) $vwServiceNames | Set-Service -StartupType Disabled -Verbose
Start all of the Locator fetch services by executing the command in an elevated PowerShell session:
Get-Service | Where { $_.DisplayName -like "*ViaWorks*Fetch*" -or $_.DisplayName -like "*Locator*Fetch*" -or $_.DisplayName -like "*ayfie*Fetch*"} | ForEach-Object { Start-Service -Name $_.Name -Verbose Start-Sleep -Seconds 10 }
- After completing these steps, the secondary server will be able to function as a fetch and conversion node once it has been configured in the scheduler.
- Open Locator Management Console and install the required connectors
Verify Configuration and Assign Fetch Server
- On the Primary Locator server:
- (Optional for PostgreSQL installations) From an elevated command prompt, run %ProgramFiles%\ayfie\Locator\PostgreSQL\bin\pgAdmin3.exe
- Select the Locator database
Select the SQL button and paste the following text into the window:
SELECT * FROM config.via_works_server;
- Run the query
- Verify there is a second row showing the secondary Locator server (see the
computer_name
anddns_name
columns). - Close pgAdmin
- Start the Locator Management Console and on the "Scheduling" page under Connections, assign the secondary server to each of the connections in each of the connectors from which the secondary server will be used to fetch documents.
- The secondary server should have the “Perform Discovery” option disabled and the “Perform Fetch” option enabled.
- Remember to click "Save" after assigning the server to each connection.
- Note that the secondary server’s schedule must be set and is independent of the primary server’s schedule. See Scheduling (Connections).
See also
- Download & Run the Installation Program
- Database Installation Requirements
- Verifying Installation Success
- Configuring SSL and HTTPS
- Enabling Remote Access