2.1. Installing xGT

Running xGT on-premises can eliminate the need to move sensitive data off-premises (e.g., into a cloud repository) and, depending on the server configuration, can speed up the ingest of large volumes of data.

2.1.1. Supported Environments

The Trovares xGT server runs on an x86-64 platform running enterprise Linux distributions. The reference implementation is RHEL 7.6 distrubuted via an RPM. For information about running xGT on other Linux distributions contact gettingstarted@trovares.com.

Required RHEL 7.6 Packages

Package Name

Minimum Version

bzip2-libs

1.0.6

libcurl

7.29.0

log4cxx

0.10.0

numactl

2.0.12

openssl-libs

1.0.2k

zlib

1.2.7

Note that the required packages will be installed as dependencies when installing the xGT distribution. However, for those sites without direct internet access, pre-installing these packages is required.

2.1.1.1. Python Environment

For every platform on which the xGT client will be run, a Python environment must be set up. Trovares supports using Python 3.5+. Python 2 is not supported.

In addition to the OS packages (e.g., python and python-pip 1), several Python packages are required:

Required Python Packages

Pip Package Name

Minimum Version

grpcio

1.20.0

jupyter

pandas

0.24.2

protobuf

3.12.0

Pip by default will install the most current version. Required packages can be installed along with xGT like so:

$ pip install grpcio jupyter pandas protobuf xgt

If planning to use the xGT client in a Python environment using either forked processes or Python multiprocessing, install grpcio version 1.30.0 instead of the latest version like so:

$ pip install grpcio==1.30.0

More information on setting up an xGT client environment is available here: Installing the xGT Client.

2.1.1.2. Assistance

To acquire a license for Trovares xGT or for questions about configuring Trovares xGT, contact gettingstarted@trovares.com.

2.1.2. Licensing

The server component of xGT, called the xgtd process, is distributed as an encrypted executable licensed on a specific server. The server is required to connect to a license manager in order to run. This license manager can be either on the same machine or a separate machine.

Detailed information about licensing is provided in xGT License Management System.

The following steps are required to get xGT installed on your server.

  • Step 1: Install the license manager and get the MAC addresses of the intended license platform Download the RPM provided as link by Trovares (typically provided by email).

    Then install it:

    sudo yum install xgt-license-manager-X.Y.Z-1.x86_64.rpm
    /opt/xgtd/bin/lmxendutil -hostid
    

    A sample output from such a run:

    /opt/xgtd/bin/lmxendutil -hostid
    LM-X End-user Utility v5.0
    Copyright (C) 2002-2021 X-Formation. All rights reserved.
    
    ETHERNET: ens3
    HostID: 000C2BC32G83
    
    ETHERNET: ens4
    HostID: 0A42F8D4C3F0
    
    HOSTNAME: wyvern
    HostID: wyvern
    
    USERNAME: jacob
    HostID: jacob
    
    IPADDRESS: 192.128.121.148
    HostID: 192.128.121.148
    
    IPADDRESS: 192.138.111.*
    HostID: 192.138.111.*
    
    IPADDRESS: 192.118.*.*
    HostID: 192.118.*.*
    

    It may also help to capture the following information, but this is optional:

    $ free -h
    $ lscpu
    

    Capture the entire output and send that to gettingstarted@trovares.com.

  • Step 2: Run the license manager

    Trovares creates a license specific for the server your license manager is running on. You will receive a license from us.

    When you receive the license, put it in /etc/xgtd/licenses/ on the license manager machine. It should be named xgtd.lic.

    To start the license manager:

    $ systemctl start lmx
    

    To verify the license server is working check the logs:

    $ less /var/log/xgtd/lmx.log
    

    You should see something like the following in the log:

    [2021-03-18 16:26:42] Serving following features:
    [2021-03-18 16:26:42] xgtd (v1.6) (16 license(s)) license type: exclusive
    

    If no log files are available, you can check the status with systemctl status lmx or journalctl -u lmx.

  • Step 3: Download and install the electronic distribution

    Download the RPM provided as link by Trovares (typically provided by email).

    sudo yum install xgt-server-X.Y.Z-1.x86_64.rpm
    

    Of course, the name of your distribution may be different than the one shown here.

    If the license manager is on a different machine, you will need to modify the configuration to use that machine. See Configuring the xGT Server.

  • Step 4: Run the xgtd server

    To start xgtd:

    $ systemctl start xgtd
    

    To check the status of xgtd:

    $ systemctl status xgtd
    

    Note that if the installation has been successful, you should see something like this:

    $ systemctl status xgtd
    ● xgtd.service - xgtd
       Loaded: loaded (/etc/systemd/system/xgtd.service; disabled; vendor preset: disabled)
       Active: active (running) since Fri 2020-11-06 19:05:40 UTC; 2s ago
     Main PID: 9060 (xgtdBinary)
       CGroup: /system.slice/xgtd.service
               ├─9060 /opt/xgtd/bin/xgtd -c /etc/xgtd/xgtd.conf -p 4367
               └─9061 /opt/xgtd/bin/xgtd -c /etc/xgtd/xgtd.conf -p 4367
    
    Nov 06 19:05:40 xgtd-server-host systemd[1]: Started xgtd.
    

    To stop xgtd:

    $ systemctl stop xgtd
    

    Note that it may be necessary to prepend sudo to these commands in your environment.

    If the systemctl start xgtd command has been performed followed by a systemctl status xgtd, and the report says that the xgtd process has failed, it may be helpful to look in /var/log/xgtd/ for logging and auditing output or use journalctl -u xgtd.

    For licensing error messages check LM-X Error Messages.

Footnotes

1

RHEL 7.6 does not provide python-pip by default. It can be installed via the EPEL repository.