Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 22 Next »

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.


 

When Installing a New Secondary Locator Server

On the Primary Locator server:

  1. If using PostgreSQL, add a new rule to the Windows firewall allowing all traffic inbound to the PostgreSQL TCP port.  Run the following from an elevated command prompt.  This command will work on Windows Server 2008 R2 or later.  The default PostgreSQL TCP port is 5432.  Substitute this with the correct port in the following command if the port has been changed:

    netsh advfirewall firewall add rule name="PostgreSQL (TCP-In)" protocol=TCP localport=5432 action=allow dir=IN
  2. Add a new rule to the Windows firewall allowing all traffic inbound on TCP port 60010 for Locator licensing.  Run the following from an elevated command prompt.  This command will work on Windows Server 2008 R2 or later:

    netsh advfirewall firewall add rule name="Locator Licensing (TCP-In)" protocol=TCP localport=60010 action=allow dir=IN
  3. Add a new rule to the Windows firewall allowing all traffic inbound on TCP port 9983 for Zookeeper.  Run the following from an elevated command prompt.  This command will work on Windows Server 2008 R2 or later:

    netsh advfirewall firewall add rule name="Locator Zookeeper (TPC-In)" protocol=TCP localport=9983 action=allow dir=IN


  4. 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:

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.


Postgres only: steps 5-8

  1. 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 Index Service
    • Locator IndexBuilder Service
    • Locator Licensing Service
    • 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 "*Locator *Fetch*" }
    
    $vwServices= Get-Service | Where { $_.DisplayName -like "*ayfie*Fetch*" }
    
    # These services must be stopped in this order after fetch services are stopped.
    $vwServiceNames= @(
    "Via.Index.Service",
    "Locator IndexBuilder",
    "Via.Licensing.Service",
        "Locator DatabaseService"
    )
    # 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
    }
    
    
  2. From an elevated command prompt, edit the file %ProgramData%\Virtual Works\Locator \Database\pg_hba.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 the “
    # IPv4 local connections” section and add a line like shown below to allow inbound traffic from the secondary server IP address where <IPv4_addr> is the IPv4 address  of the secondary Locator  server:

    host    all             all      <IPv4_addr>/32            trust

  3. From an elevated command prompt, edit the file %ProgramData%\Virtual Works\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='*'


  4. Start all Locator services in the reverse order that they were stopped in step #3.  Perform this manually from the Services UI or by pasting the following code into the same elevated PowerShell session to start all of the Locator services:

    [array]::Reverse($vwServices)
    $vwServices | Start-Service -Verbose

On the Secondary Locator server:

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

    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.


  2. Install Locator using the Custom install path

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


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 Index Service
      • Locator IndexBuilder Service
      • Locator Licensing Service
      • 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 "*Locator *Fetch*" }

$vwServices= Get-Service | Where { $_.DisplayName -like "*ayfie*Fetch*" }

# These services must be stopped in this order after fetch services are stopped.
$vwServiceNames= @(
"Via.Index.Service",
"Locator IndexBuilder",
"Via.Licensing.Service",
    "Locator DatabaseService"
)
# 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
}
    1. 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:

        <add key="LicensingServiceServer" value="<IPv4_addr>" />


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


    2. Edit the Rest Service web.config: "[Drive]:\Program Files\VirtualWorks\Locator\RestService\web.config": change <add key="LicenseHostName" value="localhost" /> to <add key="LicenseHostName value="FQDN_of_primary_server" />

    3. 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 -Verbose
    4. Start 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
      }


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

    • Finish the installer and wait for the installation to complete.

  2. 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. To configure the secondary server as an additional web server and Solr Cloud node, continue with the "Web Server and Solr Cloud Configuration" article.

Verify Configuration and Assign Secondary Server

On the Primary Locator server:


(Optional for PostgreSQL installations) From an elevated command prompt, run %ProgramFiles%\ayfie\Locator\PostgreSQL\bin\pgAdmin3.exe
  1. Select the Locator database
  2. Select the SQL button and paste the following text into the window:
SELECT * FROM config.via_works_server;
  1. Run the query
  2. Verify there is a second row showing the secondary Locator server (see the ADDITIONAL_COMPUTERNAME and ADDITIONAL_COMPUTER_FQHN columns). <--- IS THIS TRUE?
  3. 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.



  • No labels