×

☰ Table of Contents

TigerGraph Docs : TigerGraph Platform Installation Guide v1.0

eVersion 1.0
Document Updated:


Platform Installation - Single Node Configuration

Contents of this Section:

Preparation

This guide assumes the following:

  1. You have a Linux server that meets the TigerGraph Hardware and Software Requirements .
  2. You have sudo or root privilege.
  3. You have a license key provided by TigerGraph.

Also, to use the TigerGraph platform effectively, you should have sufficient memory and disk space to store your graph data.

If you are updating from a previous version of the TigerGraph™ Platform, first read the section below on Update/Upgrade FAQs .


New Installation

Besides the basic requirements mentioned above (HW & SW requirements, sudo/root privilege, license key), there are two more requirements for installation:

  • As mentioned in the Hardware and Software Requirements , you need to pre-install a few basic Linux utilities:
    1. tar/gzip
    2. crontab
    3. ip
    4. ssh/sshd
    5. more
    6. netstat
  • Obtain the TigerGraph package from the TigerGraph presales/support team or download it from our download site :
    http://service.tigergraph.com/download/tigergraph-<version>-offline.tar.gz

    For example, if <version> is 1.0 , the file name is tigergraph-1.0-offline.tar.gz.

Now you are ready to begin installation.

  1. Extract files from the package:

    tar xzf tigergraph-<version>-offline.tar.gz
  2. A folder named offline-package will be created. Change into this folder. To install with default settings, just run the install.sh script.

    cd offline-package ./install.sh

The installer will ask you a few questions.

  • Do you agree to the License Terms and Conditions?
  • What is your license key?
  • Do you want to use the default Linux user name or select your own?
  • Do you want to use the default installation folder or select your own?

That's it! see Next Steps below.

If you want to customize the installation and understand better what will happen during installation, read the Installation Details section below.


Installation Details

The install.sh command will do the following:

    1. Install the system prerequisites.
    2. Ask you to accept the end user license agreement. Please read it carefully, and accept accordingly. If you do not accept, the install process will be terminated.
      This step cannot be bypassed.
    3. Prompt you to enter your license key (unless you provided it already on the command line). You cannot proceed to the next step until you enter a license key.
    4. Ask you if you want to change the default settings for user name and installation directory. The user account corresponds to a Linux account. This can either be an existing account, or the installer will create a new account. The default settings are user = tigergraph, password = tigergraph, and TigerGraph.root.dir = ${GSQL_USER_HOME}/tigergraph. Optionally, you can provide values in the command line, or you can instruct the installer to automatically accept the default settings.

    5. Configure the TigerGraph Platform.
    6. Install and deploy the TigerGraph Platform.

Configuration Options

The following default settings will be applied if no parameters are specified:

  • The installer will create a user called tigergraph , with password tigergraph .
  • The root directory for the installation (referred to as <TigerGraph.root.dir>) is a folder called tigergraph located in the tigergraph user's home directory, that is,
    /home/tigergraph/tigergraph/.

The installation can be customized by running command line options with the install.sh script :

Syntax: install.sh [-h][-u <user>] [-p <password>] [-r <tigergraph_root_dir>] [-l <license_key>] [-f] $ install.sh -h The default configuration is TigerGraph user: tigergraph, TigerGraph password: tigergraph, TigerGraph root dir: /home/tigergraph/tigergraph. -h -- show this message -l -- TigerGraph license key (If not specified, it will prompt the user for the license key.) -p -- TigerGraph password (If not specified, the default password is tigergraph.) -r -- TigerGraph root directory (If specified: <tigergraph_root_dir>/tigergraph. If not specified: ${GSQL_USER_HOME}/tigergraph) -u -- TigerGraph user (If not specified, the default user name is tigergraph.) -f -- suppress prompts, and continue installation despite warnings.


If the installation ran successfully, see Next Steps below.



Next Steps

After the installation finishes, the installer will automatically change users to the new TigerGraph user you just created .

If you installed with the default password, we recommend that you change it now.


To confirm correct operation:

  • T ry the command gadmin status

    If the system installed correctly, the command should report that zk , kafka , and dict are up and ready.
    However, since there is no graph data loaded yet, gse , gpe , and restpp are not initialized.

  • Try the command gsql --version


You are now finished!  If you are a first-time user:

  • Try some demonstrations: Go to the <TigerGraph_Root_Dir> / document/DEMO folder and run ./RUN_DEMO.sh
  • Start learning, with one of our tutorials, such as GSQL Tutorial and Demo Examples


If you wish to perform additional configuration, see the appropriate sections of the TigerGraph System Administrators Guide v1.0 .


Updating a System

Update/Upgrade FAQs

Q. Can I update my v0.8 system to v1.0?

A. TigerGraph v1.0 should be installed as a new installation.  There have been internal architectural changes; therefore, it is not possible to install v1.0 as an update to v0.8.

Q: Is the new version backward-compatible with previous versions?

A: If you are updating from v0.8.x, please contact support@tigergraph.com for the Release Notes for TigerGraph Platform v1.0 for a detailed review of changes between v1.0 and previous releases. If you are currently running v0.8 or v0.8.1, the major language and API features are backward-compatible. Some minor features have changed, so consult the Release Notes to see if these affect you.

After 1.0, TigerGraph plans to use the following version numbering scheme:
Major.Minor.Patch (Patch number may be omitted if its value is 0.)

  • Major is incremented when there are significant changes which are not backward compatible.
  • Minor is incremented when there are new features but they are backward compatible.
  • Patch is incremented when there are only bug fixes which are backward compatible.

If you are updating from a version older than 0.8, please contact TigerGraph Support to review your individual situation.


Q: Can I use my previous license key?

A: If you have a 74- or 148-character key, the same key will continue to work. The expiration date is unchanged. 64-character license keys are deprecated.

Q: Do you support live updates?

A. The current version does not support live update. The TigerGraph services needs to be turned off during an update.

Q: Will my graph data store be saved?

A: For Minor or Patch updates, (for example, from v0.8 to v0.8.1), the graph data store is preserved and can be used in the upgraded system. However, request queues and message logs (from REST++ and Kafka) are not saved. For extra security, you can use the Backup utility to save a backup.

Q: Will my catalog (definitions of graph schema, loading jobs and queries) be saved?

A: For minor or patch updates, the catalog will be preserved, but the queries will need to be reinstalled. See details in Update Procedure below.

Q: I have other files, not part of the original TigerGraph installation (e.g., command scripts, input data files, log files) stored in the file structure. Will they be saved?

A: Your files will be saved, but they might be moved. The installation program will create a backup folder to save the old versions of files before installing the new versions. In particular, the entire folder <TigerGraph.Root.Dir>/dev will be copied to a new folder called <TigerGraph.Root.Dir>/dev_<datetime>, before creating a new /dev folder. The files include but are not limited to:

Update Procedure for Minor Updates

  1. Back up your files. (Optional but recommended if this is your first time performing an update.)  Any files you wish to save (command files, input data files, personal files, log files, etc.) should be stored outside of the TigerGraph root folder.
  2. Shut down the TigerGraph system:
    1. Allow any jobs in progress to finish.  Any jobs in the request queue will not be saved.

    2. Run the following commands to turn off TigerGraph services.
      > gadmin stop -f
      > gadmin stop admin -y

    3. Verify that there are no remaining OS processes owned by the TigerGraph system.
      > ps aux | grep tigergraph
      If your installation has a username and installation directory other than "tigergraph", then change the grep argument to match your name.

      If there are any lingering jobs, they need to be halted before performing the installation.

  3. Follow the procedure at the beginning of this document for installing a new system.

    Be sure to specify the same username as your current installation. Otherwise, if you use a different user name, it will be treated as a new installation, with an empty graph.

  4. Verify: Run the command gsql to start the GSQL shell. The first time after an update, gsql performs two important operations:

    1. Copies your catalog from your old installation to the new installation .

    2. Compares the files in the backup /dev_<datetime>/gdk/gsql/src folder to the new /dev/gdk/gsql/src folder. Pay attention to any files residing in the old folder but not in the new folder.  Review them and copy them to the new folder if appropriate.  See the example below.

  5. List the jobs in the catalog using the ls command, and note the names of the queries. In general, queries need to be reinstalled after an update. Even in a minor update, there may be new features or bug fixes that provide a better format for your queries. After you have examined your queries and are satisfied, reinstall them with the following command:

    INSTALL QUERY -FORCE ALL

Example: Comparing Old and New Installations

Diagnostic output of 'gsql' after a software update.

[RUN ] cp -r /home/tigergraph/tigergraph/dev_2016.08.25-10.27.48/gdk/gsql/.catalog /home/tigergraph/tigergraph/dev/gdk/gsql/

[*.?pp] oldest: /home/tigergraph/tigergraph/dev_2016.08.25-10.27.48/gdk/gsql/src/ReducerLib/ReducerLib.cpp 2016-04-27 13:51:10
[*.?pp] newest: /home/tigergraph/tigergraph/dev_2016.08.25-10.27.48/gdk/gsql/src/TokenBank/JOB_load_videoE.cpp 2016-08-25 10:00:25.221119

!!! Found /home/ tigergraph / tigergraph /dev_2016.08.25-10.27.48/gdk/gsql/src/ has user defined token functions
Please merge to /home/tigergraph/tigergraph/dev/gdk/gsql/src/

[RUN ] touch /home/tigergraph/tigergraph/dev/gdk/gsql/.hasDDL
Welcome to GSQL Shell version: master

Type 'help' for help.

GSQL >

The first [ RUN ] line tells us that the catalog is being copied to the new installation.

Next, the gsql version checker compares *.pp (.cpp and .hpp) files in the new and backup dev/gdk/gsql/src folders.  While the majority of code for the GSQL platform is precompiled object code, a small portion is in source code format. This source code relates to (1) queries and loader jobs that the user wrote, (2) User-Defined Functions (UDFs) that the user wrote, or (3) a few standard functions that TigerGraph implemented in the same style as UDFs.

The red warning indicates that the gsql version checker found a discrepancy. It advises the user to merge /home/tigergraph/tigergraph/dev_2016.08.25-10.27.48/gdk/gsql/src/ to /home/tigergraph/tigergraph/dev/gdk/gsql/src/.

To investigate, perform a recursive diff between these two folders:

Diff between backup and new folders
$ diff -r dev_2016.08.25-10.27.48/gdk/gsql/src dev/gdk/gsql/src diff -r dev_2016.08.25-10.27.48/gdk/gsql/src/QueryUdf/ExprFunctions.hpp dev/gdk/gsql/src/QueryUdf/ExprFunctions.hpp 29a30 > #include <gle/engine/cpplib/headers.hpp> Only in dev/gdk/gsql/src: src Only in dev_2016.08.25-10.27.48/gdk/gsql/src/TokenBank: JOB_load_videoE.cpp Only in dev_2016.08.25-10.27.48/gdk/gsql/src/TokenBank: JOB_load_videoV.cpp

This example tells us the following:

  • There is some content that is only in the new folder. This clearly represents intentional updates by TigerGraph. No action is needed.
    • The new version of ExprFunctions.hpp contains an additional #include line.
    • The new folder dev/gdk/gsql/src contains a file or folder called src.
  • The backup folder dev_2016.08.25-10.27.48/gdk/gsql/src/TokenBank contains two files not found in the corresponding new folder: JOB_Load_videoE.cpp and JOB_Load_videoV.cpp.  load_videoE and load_videoV are two loading jobs from one of our training examples, which were in the catalog when the update installation was performed.  If the user wants to retain these loading jobs, the files should be copied from the backup folder to the corresponding new folder.