Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Locator supports the deployment of multiple Locator servers, configured to work together to search and index documents from the various data sources within the customer environment. In a multi-server scenario, the secondary Locator search server can be added to the SolrCloud of the primary Locator Search Server to offer distribution of index, replication, failover and load balancing.  You can add as many Secondary Search Servers as you like to the Primary Locator Server depending on the needs and requirements.

...

  1. In the Locator Installer choose Custom Install 
  2. On the Server Address page, replace localhost with the primary server hostname for the Licensing service address field
  3. For the Zookeeper address, replace localhost with the primary server IPV4 address and keep the port :9983
  4. If using PostgreSQL, on the Database Information page, leave the drop down as PostgreSQL and the database name as Locator.
  5. 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
  6. Choose the following components
  7. Finish the installer and wait for the installation to complete.

Configuring a Locator Secondary Search 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 fetch services and make sure the server is configured as a fetch server. See Installing/Configuring an Additional Fetch Server.

  1. Make sure you have installed and configured the primary Locator Server, see Installing/configuring a Primary Server in a multi-server environment
  2. 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:

    Code Block
    languagepowershell
    themeRDark
    netsh advfirewall firewall add rule name="Locator Solr (TPC-In)" protocol=TCP localport=8983 action=allow dir=IN remoteip=xxx.xxx.xxx.xxx,yyy.yyy.yyy.yyy

    Replace xxx.xxx.xxx.xxx and yyy.yyy.yyy.yyy with the IP(s) of the servers involved with the multi server setup. This applies both to servers in a multi server SOLR ViaWorksCloud setup, as well as setups where additional fetch servers are set up.

  3. 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.Locator IndexBuilder Service

    Windows Services UI Method

    From the Windows Services app, stop and disable each Locator Service in the following order:

  4. All Fetch Services, in any order (e.g. ayfie FileServer Fetch Service, ayfie Exchange Fetch Service, etc.)
  5. ayfie Authority Service (from Locator 2.11)


        • Locator Index Service
        • Locator Licensing ServiceLocator Database Service


    PowerShell Method

    Paste the following code into an elevated PowerShell session to stop all Locator services:

    Code Block
    languagepowershell
    themeRDark
    # Create an array of Locator service names in the order they should be stopped. Get the fetch services first.
    $vwServices= Get-Service | Where { $_.DisplayNameName -like "*ViaWorks*Fetch*" -or $_.DisplayName -like "*Locator*Fetch*"Via.Index.Service" -or $_.DisplayNameName -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 ForEach-Object Object {
    	Stop-Service $_.Name -Verbose
    }

    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 the ayfie Authority service by executing the command in an elevated PowerShell session:

    Code Block
    languagepowershell
    themeRDark
    $authorityService= Get-Service | Where {$_.DisplayName -like "ayfie Authority Service"}
    $authorityService| ForEach-Object {Stop-Service $_.Name -VerboseService $_.Name -Verbose
    }


  6. 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 still 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

    1. 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.

    2. Add this line before the </appSettings> line:

      Code Block
      languagexml
      <add key="LicensingServiceServer" value="<IPv4_addr>" />


      Where 
      <IPv4_addr> is the IPv4 address of the Primary Locator server.


  7. 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" />. Use "[Drive]:\Program Files\ayfie\Locator\RestService\Custom\web_config_overrides.config" to persist change through upgrades, see How do override files work?

  8. Verify that the REST Service web.config "[Drive]:\Program Files\ayfie\Locator\RestService\web.config": AuthorityServiceBaseUrl key reflect the FQDN of the primary Locator Server. The Locator installer sets this value.
  9. Disable all Locator services except the Locator Index ServicePerform this manually from the Services UI or by executing the command in an elevated PowerShell session:

    Code Block
    languagepowershell
    themeRDark
    # Create an array of Locator service names in the order they should be stoppeddisabled. Get the fetch services first.
    $vwServices
    $vwServicesExceptIndexService= Get-Service | Where { $_.DisplayNameName -like "*ViaWorks*Fetch*" -or $_.DisplayName -like "*Locator*Fetch*" -or $_.DisplayName -like "*ayfie*Fetch*"}
    
    # Locator services, except Locator Index Service
    $vwServiceNames= @(
    "ViaWorksIndexBuilder",
    "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)
    }
    
    # StopDisable each Locator service
    $vwServices$vwServicesExceptIndexService| ForEach-Object { 	Set-Service -StartupType Disabled Service -StartupType Disabled -Verbose
    }

    Note: Some connectors have services used by Locator authentication like ayfie Domino REST Service and ayfie SharePoint Security Service. These services need to be running. Make sure you only disable the connector fetch services.

    The ayfie Authority Service is available from Locator 2.11. This component should not have been selected during Custom Install. If installed on the Secondary Search Server anyway, disable and stop the ayfie Authority service by executing the command in an elevated PowerShell session:

    Code Block
    languagepowershell
    themeRDark
    $authorityService= Get-Service | Where {$_.DisplayName -like "ayfie Authority Service"}
    $authorityService| Set-Service -StartupType Disabled -Verbose
    Start the Locator Index Service


  10. Start the Locator Index Service. Perform this manually from the Services UI or by pasting the following code into the same elevated PowerShell session:

    Code Block
    languagepowershell
    themeRDark
    Get-Service | Where {$_.DisplayName -like "Locator Index Service"} | ForEach-Object {Start-Service -Name $_.Name -Verbose}
  11. If you have completed all steps above for all search servers in the multi-server environment, including primary it's now time for configuring the SolrCloud index. See Web Server and Solr Cloud Configuration

  12. If you plan to use the search server as a fetch server as well, you need to set it up as a fetch server as well, see Installing/Configuring an Additional Fetch Server

Verify Configuration Server


  1. On the Primary or Secondary Locator Search

    This server is now configured as a Locator Search server. On the secondary search server, open your browser and got to http://localhost:8983/solr/#/~cloud.

    This should now display the SolrCloud and all shards on all Locator Search Servers.On the Primary Locator server:
  2. (Optional for PostgreSQL installations) From an elevated command prompt, run %ProgramFiles%\ayfie\Locator\PostgreSQL\bin\pgAdmin3.exe
  3. Select the Locator database
  4. Select the SQL button and paste the following text into the window:

    Code Block
    languagesql
    SELECT * FROM config.via_works_server;
  5. Run the query
  6. Verify there is a second row showing the secondary Locator server (see the ADDITIONAL_COMPUTERNAME and ADDITIONAL_COMPUTER_FQHN columns).
  7. Close pgAdmin

     
    Image Added
    This displays the status of the SolrCloud setup. Note that the SolrCloud at this stage only has shards on the primary server.

  8. If you plan to configure more secondary search servers, repeat this guide for all secondary search servers. If not, you can continue with configuring the SolrCloud index. See Web Server and Solr Cloud Configuration.


See also

Child pages (Children Display)
pageInstalling the ayfie Locator Server