Installation Guide
This guide describes how to install the TigerGraph platform either as a single node or as a multi-node cluster, interactively or non-interactively.
If you signed up for the Enterprise Free license, you also have access to the TigerGraph platform as a Docker image or a virtual machine (VirtualBox) image. Follow the instructions in Get Started with Docker to start up TigerGraph in a Docker container. |
Video walk-through:
Preparation
Before you can install the TigerGraph system, you need the following:
-
One or more machines that meet the minimum Hardware and Software Requirements
-
A Linux superuser with the same username and login credential on every machine
-
A license key provided by TigerGraph (not applicable to Enterprise Free)
-
A TigerGraph system package
-
If you do not yet have a TigerGraph system package, you can request one.
-
-
If you are installing a cluster, ensure that every machine has the same SSH port and the port stays open during installation
Installation
TigerGraph’s installation script supports both single-node and cluster installation, and the user can choose to install either interactively or non-interactively.
Interactive installation
The following describes the procedure to install TigerGraph on Linux interactively, that is, with custom settings for the installation username, IP address, file paths, and so on. The filename of your package may vary depending on the product edition and version. For the examples here, we use the filename tigergraph-<version>.tar.gz
, which should be replaced by the actual filename of your package.
Step 1: Extract the package
Extract the package by running the following command.
A folder named tigergraph-<version>-offline
will be created.
$ tar -xzf tigergraph-<version>.tar.gz
Step 2: Run installation script
Navigate to the tigergraph-<version>-offline
folder. If you are certain that you already meet the software requirements, run install.sh
, or run install_tools.sh
to check for and install all required packages first.
$ cd tigergraph-<version>-offline
# to install enterprise license
$ sudo ./install.sh
The installer will ask for the following information, for which you may choose to hit Enter to skip and use the system default or enter a new value:
-
Your agreement to the License Terms and Conditions
-
Your license key (not applicable for Enterprise Free)
-
Username for the Linux user who will own and manage the TigerGraph platform
-
The installer creates a new Linux user (with a username of your choice) who is the only user with permission to run
gadmin
commands to manage the TigerGraph Platform.
-
-
Password for the Linux user who will own and manage the TigerGraph platform
-
Path to the installation folder
-
Path to the data folder
-
Path to the log folder
-
Path to the temp folder
-
The SSH port for your machine
To see what the default settings are, read the Installation options section below.
Since license keys are long — over 100 characters long. If you copy-and-paste the license key, be careful not to accidentally include an end-of-line character. |
After configuring the SSH port, the installation continues directly to cluster settings.
Step 3: Configure cluster settings
TigerGraph cluster configuration enables the graph database to be partitioned and distributed across multiple server nodes in a local network. After you have answered the questions described in the previous step, the installation script will ask for the following to complete cluster configuration:
-
The number of nodes in your cluster. Each node will be given an alias following the input (
m1
,m2
,m3
, etc.)-
If this is a single-node installation, enter
1
-
-
The IP address of each node
-
Username and credentials information of the sudo user
-
Every machine in the cluster must have a sudo user with the same username and password or SSH key.
-
-
Permission to set NTP time synchronization
-
Permission to set firewall rules among the cluster nodes
In TigerGraph 3.x, the installation machine can be within or outside the cluster. If outside the cluster, the installation machine still needs to be a Linux machine. |
After all the questions are answered, the script will proceed to installation. A screenshot of the interactive installation is shown below:
Step 4: Verify installation
After installation is complete, you can switch to the Linux user who owns the platform (created in Step 2) with the following command :
$ su <username> # default username: tigergraph
Without switching to this user, you will not have permission to run gadmin
commands.
At the prompt, enter the password that was set in Step 2.
After switching to the correct user, you now have access to gadmin
commands. Confirm successful installation by running gadmin status
. If the system is installed correctly and the license is activated, the command should report that all services are up and ready. Since there is no graph data loaded yet, GSE and GPE will show "Warmup"
.
Non-interactive installation
The following describes the procedure to install TigerGraph on Linux non-interactively.
Step 1: Extract the package
Extract the package by running the following command. A folder named tigergraph-<version>-offline
will be created.
$ tar -xzf tigergraph-<version>.tar.gz
Step 2: Configure installation settings
The tigergraph-<version>-offline
folder contains a file named install_conf.json
. For non-interactive (custom) installation, the user must review and modify all the settings in the file install_conf.json
before running the installer.
Below is an example of the install_conf.json
file:
{
"BasicConfig": {
"TigerGraph": {
"Username": "tigergraph",
"Password": "tigergraph",
"SSHPort": 22,
"PrivateKeyFile": "",
"PublicKeyFile": ""
},
"RootDir": {
"AppRoot": "/home/tigergraph/tigergraph/app",
"DataRoot": "/home/tigergraph/tigergraph/data",
"LogRoot": "/home/tigergraph/tigergraph/log",
"TempRoot": "/home/tigergraph/tigergraph/tmp"
},
"License": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJJc3N1ZXIiOiJUaWdlckdyYXBoIEluYy4iLCJBdWRpZW5jZSI6IlRpZ2VyR3JhcGggRnJlZSIsIlN0YXJ0VGltZSI6MTYxNzM1NTgwMywiRW5kVGltZSI6MTY1MTQ4NzQwMywiSXNzdWVUaW1lIjoxNjE3MzU5NDAzLCJFZGl0aW9uIjoiRW50ZXJwcmlzZSIsIlZlcnNpb24iOiJBbGwiLCJIb3N0Ijp7Ik1heENQVUNvcmUiOjEwMDAwMDAwMDAwMDAwMDAsIk1heFBoeXNpY2FsTWVtb3J5Qnl0ZXMiOjEwMDAwMDAwMDAwMDAwMDAsIk1heENsdXN0ZXJOb2RlTnVtYmVyIjoxMDI0fSwiVG9wb2xvZ3kiOnsiTWF4VmVydGV4TnVtYmVyIjoxMDAwMDAwMDAwMDAwMDAwLCJNYXhFZGdlTnVtYmVyIjoxMDAwMDAwMDAwMDAwMDAwLCJNYXhHcmFwaE51bWJlciI6MTAyNCwiTWF4VG9wb2xvZ3lCeXRlcyI6NTM2ODcwNjM3MTJ9LCJHU1QiOnsiRW5hYmxlIjp0cnVlLCJab29tQ2hhcnRzTGljZW5zZSI6IntcbiAgXCJsaWNlbnNlXCI6IFwiWkNCLTRtZmk3NDRsdjogWm9vbUNoYXJ0cyBFbnRlcnByaXNlIGxpY2VuY2UgZm9yIFRpZ2VyR3JhcGggZm9yIG9mZmxpbmUgdXNlOyB1cGdyYWRlcyB1bnRpbDogMjAyMi0xMi0zMVwiLFxuICBcImxpY2Vuc2VLZXlcIjogXCI4Zjg2ZWQzM2Y0ZWJmYmE4YTI4NjlkZGUzMmYzYTMwZGI4NGEzOTgxYmEzNmZhZWZlYTMxNDhhYzY4MzkxZTlhYzUzZDU3YmI5MjdmNjY5YWI1ZWJhYzJhYmQ3YTFkNDBiM2UxNDRmZjIwMDYyZWNiZmIwZjJiN2I0ZWFmZWIwYzU2NTc2NjBhZGExZDc1MWNhODU3NWZhYTE1ZWQwODI0NzkwZWQxMjJkY2Q4NjcyZTJiN2QzN2MwNmE3MzFhYTc2MDIwM2FhYmMwYjYzOWEzMjBhOGQxNmI0YmFiNGY5NTJiNTMwOTUzMWI4MDkxNjYwZDVjOGMzNGY0NmMyNjZiOGZiNzc2YzFmN2Y0MTdlMGQ5Y2JkZGFlOTExNTFlY2Y3YmMzZDlkNDgyNWE2MjAwYzk0MWMyMDE4ZDY4YjkyOWE5ZWY2MzQ2MDE5NjFhYmU1MGI0ZTk0ZmY5Y2VjMjA1ODEwYmVlZmRkM2NlZDU2YjM5NTVjYmE0YWIyMGNiNzc5MWE0NmQxNzIwMzNiZmI0ZDIyMDM4ODZhZTllZDFkOWMzOWIyOTM2ODc3Yjc2NzY4ZjQwNWQ5Y2MwY2JlODVjOTE2NDllMDI5YTA0NDFlOGFmYjA2MzY4MTMxZGM1YTc1NDEyOTc1NjFlMDRlMGM1MzE1ZmFjMDdhYzViOWViM1wiXG59In0sIlJ1bnRpbWVNZW1vcnkiOnsiTWF4VXNlclJlc2lkZW50U2V0Qnl0ZXMiOjEwMDAwMDAwMDAwMDAwMDB9fQ.B1tR-ZyzFB3WCtCXBl-CXb-3YlL1Hy1btCzsEnkLd6GE2AOvJdpqVZGU-YGyIaOGSYX1sbjrePBoupuWPwrOgvce-mq_Qwp8eounoEOkuzYlTQXFj3lM1wO6vrdiOn2GUm0qMVtlVTIDrFZlZ-bWcdSUA4J8t2JNJrYxQgPWjlO9f4I4w2RbTK3sZW7N96bqFUQPituiwLcPX_VSVT8KBluM2WIH7CJitHl21IbnQbwScBw_QgjfaITZXE6UXisMM9XNphf5yQX9arFDQLchV7e2i3R2tUEuF7V_mHFrVa8vCBjm_0uABzcY8U02QJ78SB9MgLNrqgtzIwHmYP22KQ",
"NodeList": [
"m1: 127.0.0.1"
]
},
"AdvancedConfig": {
"ClusterConfig": {
"LoginConfig": {
"SudoUser": "sudoUserName",
"Method": "P[or K]",
"P": "<sudo_user_password>",
"K": "</path/to/my_key.pem_rsa>"
},
"ReplicationFactor": 1
}
}
}
Here is a description of all the fields in the config file:
-
"BasicConfig"
-
"TigerGraph"
: Information about the Linux user that will be created by the installer who owns and manages the TigerGraph platform.-
"Username"
: Username of the Linux user. -
"Password"
: Password of the Linux user. -
"SSHPort"
: Port number used to establish SSH connections. -
"PrivateKeyFile"
(optional): Absolute path to a valid private key file. If left empty, TigerGraph will generate one namedtigergraph.rsa
automatically. -
"PublicKeyFile"
(optional): Absolute path to a valid public key file. If left empty, TigerGraph will generate one namedtigergraph.pub
automatically.
-
-
"RootDir"
-
"AppRoot"
: Absolute path to where application folder will be. -
"DataRoot
": Absolute path to where the data folder will be. -
"LogRoot"
: Absolute path to where the log folder will be. -
"TempRoot"
: Absolute path to where the temp folder will be.
-
-
"License"
: Your TigerGraph license string. -
"Node List"
: A JSON array of the nodes in the cluster. Each machine in the cluster is defined as a key-value pair, where the key is a machine alias (m1, m2, m3, etc.) and the value is the IP address of the node.
-
-
"AdvancedConfig"
-
"ClusterConfig"
: Cluster configurations-
"LoginConfig"
: Login configurations-
"SudoUser"
: Username of the sudo user who will be used to execute the installation on all nodes. -
"Method"
: Authentication method for SSH. Enter"P"
to use password authentication and"K"
to use key-based authentication. If you use key-based authentication, the sudo user you are providing must have password-less root privileges on all nodes in the cluster. -
"P"
: Password of the sudo user. -
"K"
: Absolute path to the SSH key to be used to authenticate the sudo user.
-
-
"ReplicationFactor"
: Replication factor of the cluster.-
If you would like to enable the High Availability (HA) feature, please make sure you have at least 3 nodes in the cluster and set the replication factor to be greater than 1. For example, if your cluster has 6 nodes, you could set the replication factor to be 2 or 3. If you set the replication factor to be 2, then the partitioning factor will be 6 / 2 = 3. Therefore, 3 nodes will be used for one copy of the data, and the other 3 nodes will be used as a replica copy of the data.
-
Ensure that the total number of nodes can be fully divided by the replication factor. Otherwise, some nodes may not be utilized as parts of the HA cluster.
-
-
-
Installation options
The following default settings will be applied if no parameters are specified:
-
The installer will create a Linux user with username
tigergraph
and with passwordtigergraph
. This user will be the only user authorized to rungadmin
commands to manage the TigerGraph platform and services.-
If there is already a user named
tigergraph
, this user will be designated as the platform owner and no other user will be created.
-
-
The default root directory for the installation would be
/home/tigergraph/tigergraph
with the App/Data/Log/Temp files within it.-
App Path:
/home/tigergraph/tigergraph/app
-
Data Path:
/home/tigergraph/tigergraph/data
-
Log Path:
/home/tigergraph/tigergraph/log
-
Temp Path:
/home/tigergraph/tigergraph/tmp
-
-
The root directory for the installation (referred to as
<tigerGraph_root_dir>
) is a folder calledtigergraph
located in the tigergraph user’s home directory/home/tigergraph/tigergraph
.
The installation can be customized by running command-line options with the install.sh
script:
Command-line options
# Command-line options for install.sh
Usage:
./install.sh [-n] [-u <user>] [-p <password>] [-r <tigergraph_root_dir>] [-l <license_key>] [-F] [-N]
./install.sh -h
Options:
-h -- Show help information
-u -- Username of Linux user to create [default: tigergraph]
-p -- Password of Linux user to create [default: tigergraph]
-l -- TigerGraph license key
-n -- Non-interactive option: suppress prompts, and install
using default config
-F -- Set iptables (firewall) rules to open TCP ports among cluster nodes
-N -- Set NTP system time synchronization among cluster nodes
[NOTE ]: Using option '-n' will non-interactively install the platform
on single node or cluster with all configurations from
config file "install_config.json". In this case, the config
file should be modified before installation.
[WARNING ]: Installer will fail if any option (except -F and -N)
is provided with option '-n' at the same time.