Installing AnzoGraph

After checking system prerequisites and installing or configuring any other required software on host servers, you can install AnzoGraph. There are two basic ways to install AnzoGraph:

  • Run an installer script to install AnzoGraph. The installer script also provides options to install AnzoGraph extensions such as the Graph Data Interface (GDI) toolkit, Apache Arrow, geospatial, and data science functions, other supplemental libraries, and programs such as the AnzoGraph frontend console user interface. You are also prompted whether AnzoGraph will operate with or without Anzo. In addition, you are prompted whether you are installing AnzoGraph standalone, on a single host server, or in a cluster.

    There are two different modes in which you can run the Installer, root (sudo) or non-root:

    • When running in root (sudo) mode, customers can create their own user IDs before running the Installer, if you don't want the Installer to create them. The Installer also automatically installs most components without requiring additional post-install configuration. In addition, services are automatically configured and you can choose to start AnzoGraph services after installation is completed.
    • When running in non-root mode, directory and file system permissions are based on the current user performing the installation. For non-sudo users, that means users installing AnzoGraph must have access and sufficient permissions to the location they specify to install AnzoGraph. Based on the permissions of users, more manual post-installation configuration is typically required in non-root or non-sudo mode. Example service files for starting and stopping AnzoGraph are provided, but you must manually configure the services to start AnzoGraph after installation.

    See Post-Installation Configuration and Startup for more information on what additional configuration and setup may be required, depending on the options you specified to install AnzoGraph. Refer to Prerequisites and Pre-Installation Configuration for any steps you may need to perform ahead of an AnzoGraph installation based on the method you choose to install AnzoGraph.

  • Download and unpack an archive TAR file which deploys a bare-bones AnzoGraph installation without all the other AnzoGraph extensions, supplemental libraries and programs, and the AnzoGraph frontend console.

Each of these methods are described in the following sections.

Running the AnzoGraph Installer

Before installing AnzoGraph, make sure the host server (or each host server in a cluster) where you want to install AnzoGraph meet the requirements in Server and Cluster Requirements and you have also installed any prerequisite software that is required.(See Prerequisites and Pre-Installation Configuration.)

To proceed with AnzoGraph installation, follow the steps below:

  1. Go to the AnzoGraph Download page, which lists the AnzoGraph releases and installation options that are available to download. The download page offers options for direct download of the Installer program as well as a tarball archive file.

  2. Download and copy the Installer file to the host server (or on each host server in a cluster) where you want to install AnzoGraph. The Installer file is an interactive shell script that prompts you to specify different options for your AnzoGraph deployment.

    The Installer will display different prompts, primarily based on whether your AnzoGraph installation is intended to be used with Cambridge Semantics Anzo, and whether you are installing AnzoGraph on a single standalone server, or leader or compute node servers in a cluster.

  3. Change directories to the location on your host server where you copied the Installer script file.
  4. Make sure you have execute permissions set for the Installer script file. For example:
    chmod +x  anzograph_linux_2_4_0_r202107280244.sh

    The actual name of the Installer script file will vary based on the release and version number of the Installer you downloaded from the AnzoGraph download page.

  5. Start the Installer script using root (sudo) permissions by running the following command:
    sudo ./anzograph_linux_2_4_0_r202107280244.sh

    The Installer script starts execution, first reminding you of prerequisite software you need to have installed either prior, or afterwards, to installing or running AnzoGraph.

    See Prerequisites and Pre-Installation Configuration and Post-Installation Configuration and Startup for more information and instructions on installing any required or optional AnzoGraph deployment options or prerequisites.

    Starting Installer ...
    Prerequisite software packages
    NOTE: Please make sure the following prerequisite software is installed
    on the system where you want to install and run AnzoGraph DB:
    GCC Compiler for Centos 7
    AnzoGraph includes optional extension packaged (UDX - User Define Extension)
    that empowers Direct Data Loading, Data Science tooling, Integration of
    Flight Arrow, and more.
    Do you want to proceed with AnzoGraph DB installation ?
    OK [o, Enter], Cancel [c]
    
  6. Press Enter or type o to continue the installation.

    The Installer now prompts you to review the AnzoGraph license agreement.

    Please read the following License Agreement. You must accept the terms of
    this agreement before continuing with the installation. ANZOGRAPH(R) DB END USER LICENSE AGREEMENT ... You recognize that the warranty disclaimers and the liability and remedy limitations in this License are material elements of this Agreement and they should be effective even when such warranty disclaimers and liability and remedy limitations would cause this Agreement to fail of its essential purposes. [Enter]
  7. Press Enter following each screen display of the agreement.

    At the end of the license agreement, the Installer displays the prompt:

    I accept the agreement
    Yes [1], No [2]
  8. Enter 1 to accept the license agreement and continue the installation.

    The Installer next prompts you to specify the directory location where AnzoGraph should be installed.

    Where should AnzoGraph DB be installed?
    [/opt/cambridgesemantics]

    The default installation location is /opt/cambridgesemantics. If you change the root directory, it’s a good idea to keep the "cambridgesemantics" portion in the path, or specify something shorter like /opt/csi, rather than a directory like /opt/anzograph.

    When the installer is finished, it creates an anzograph subdirectory in which it installs AnzoGraph files. So, for example, if you specified a directory like /opt/anzograph, the Installer would actually create a subdirectory named /opt/anzograph/anzograph, where various AnzoGraph executable, configuration, example, and other program files would be installed.

  9. Press Enter to select the default installation directory, or specify an alternate location and then press Enter.

    When deploying AnzoGraph in a cluster, you need to install AnzoGraph in the same file system location on each host server in the cluster.

    Next the Installer prompts:

    Type of server being installed.
    Server Installation Type
    Standalone [1, Enter], Cluster Leader [2], Cluster Compute/Worker [3]

    Here you can specify whether AnzoGraph is configured to operate as a standalone single server deployment, or whether AnzoGraph will operate in a cluster. In the case of AnzoGraph deployment on a cluster, you also specify whether the server on which you are currently installing AnzoGraph should be configured as the leader node in a cluster, or as a compute/worker node.

  10. If you are deploying AnzoGraph on a standalone single host server, press Enter or enter 1 (the default). Otherwise, enter 2 to specify the role of the host server as the leader node in the cluster; enter 3 to specify the role of the host server as a compute or worker node.

    When deploying AnzoGraph in a cluster, you need to run the Installer on each host server in the cluster, specifying one server as the leader node (only one), and other servers as compute/worker nodes in the cluster.

    The Installer now prompts you to set up gRPC user credentials to connect to AnzoGraph; from Anzo, logging into the AnzoGraph Query & Admin Console (if installed), or any other application using the gRPC protocol to communicate securely with your AnzoGraph deployment:

    Set up the AnzoGraph Admin user.
    AnzoGraph DB Admin user
    [admin]
  11. Press Enter to accept the default, admin, as a user with administrative AnzoGraph permissions, or enter another user name of your choosing (case-sensitive).

    The Installer now prompts you to specify a password for the Admin user.

    AnzoGraph DB Admin password
  12. Enter the password (case-sensitive) you want to use to authenticate the Admin user and then press Enter. It is recommended that you create a non-trivial secure password that includes some combination of upper and lower case letters and digits.

    There is no limitation placed on the length of the password you can specify, however, some special characters, such as $ and *, have a specific meaning to the host server operating system, and should be avoided. For security purposes, the Installer does not echo characters entered as you type them. So, make sure you enter your password carefully to avoid errors in the passwords you create.

    The Installer now prompts:

    Is this AnzoGraph DB installation intended for use with Anzo?
    Yes [y, Enter], No [n]
  13. Type n (No) to install AnzoGraph as a deployment not configured for use with Anzo. Otherwise type y (Yes) or press Enter if the AnzoGraph installation will be used with Anzo.

    Installer prompts will be slightly different, based on whether the AnzoGraph installation will be used with Anzo, or without. Instructions provided here describe options for deployments not intended for use with Anzo.

    If you specify that the AnzoGraph installation will be used with Anzo, the Installer does not provide options to install the AnzoGraph frontend console. In addition, the Installer will set specific configuration options in the settings.conf file that are optimal for use with Anzo, for example, persistence, SPARQL protocol, SSL protocol. gRPC, HTTP, and HTTPS settings. See the Anzo Deployment Guide for installation and deployment instructions specific to AnzoGraph configured for use with Anzo.

    After specifying that AnzoGraph will be installed as a deployment not intended for use with Anzo, the Installer prompts:

    Which components should be installed?
    1: AnzoGraph DB
    2: AnzoGraph DB Frontend
    Please enter a comma-separated list of the selected values or press [Enter] for 
    the default selection:
    [1]

    The first option, AnzoGraph DB, installs only the backend AnzoGraph graph database without the Jetty web-based, frontend console application. The second option, AnzoGraph DB Frontend, only installs the frontend console application.

    These instructions show and describe all of the prompts displayed when both the AnzoGraph backend and the AnzoGraph frontend are installed. The only additional options displayed when you choose to install the AnzoGraph frontend are specification of credentials for an additional query user to access the frontend console, and HTTP and HTTPS ports to access the frontend. The Installer does not display these prompts when you select option 1 (the default) and are only installing the AnzoGraph backend graph database without the frontend console.

  14. Make your selection, 1, 2, or press Enter to accept the default [1]. Specify 1,2 and press Enter to install both AnzoGraph and the AnzoGraph frontend console application.

    The Installer now prompts:

    Server Configurations
    Do you want to install C++ UDXs packaged with AnzoGraph DB?
    Yes [y], No [n, Enter]

    You can specify here whether to install the AnzoGraph C++ UDXs, which include the Arrow, geospatial, data science, and other UDX libraries.

  15. If you do not want to set up AnzoGraph with all the UDXs, press Enter or enter n (No, the default). Otherwise, enter y (Yes) to install the AnzoGraph C++ UDXs.

    If you choose to install the AnzoGraph UDXs, after the AnzoGraph installation is completed, you will also need to install additional C++ dependency and support libraries required to run some of the UDXs. See Post-Installation Configuration and Startup for more information.

    Next, if you chose to install AnzoGraph as a standalone single server or cluster deployment, not for use with Anzo, the Installer prompts whether you want to install AnzoGraph access control (ACL) functionality:

    ACL Configurations
    Do you want to enable ACL? 
    Yes [y], No [n, Enter]
  16. If you don't want to install AnzoGraph access control (ACL), press Enter or enter n (No, the default). Otherwise, enter y (Yes) to install the AnzoGraph ACL functionality.

    The option for enabling backend AnzoGraph ACL (access control) functionality is not displayed when installing AnzoGraph for use with Anzo, since Anzo provides its own method of user authentication and authorization.

    For more information on AnzoGraph's built-in access control, see Authentication and Access Control (Preview)

    If you chose to enable AnzoGraph ACL, the Installer now prompts you to specify a password for the superadmin user, which has administrator permissions to manage AnzoGraph roles and grant or revoke permissions to member users in those roles.

    Please enter ACL superadmin password
  17. Enter the password (case-sensitive) you want to use to authenticate the superadmin user and then press Enter. Again, it is recommended that you create a non-trivial secure password that includes some combination of upper and lower case letters and digits.

    Next, if you chose to install the AnzoGraph frontend, the Installer now displays a series of prompts to specify a query user password and HTTP/HTTPS ports to access the AnzoGraph frontend console.

    Similar to the Admin credentials you created earlier, the Installer prompts you to set up gRPC user credentials for a non-admin query user to connect to AnzoGraph when logging into applications like the AnzoGraph Query & Admin Console (if installed).

    Set up the AnzoGraph DB Frontend Query User
    AnzoGraph DB Frontend Query User
    [query]
  18. Press Enter to accept the default, query, as a user with non-administrative AnzoGraph permissions, or enter another user name of your choosing (case-sensitive).

    The Installer now prompts you to specify a password for the query user.

    AnzoGraph DB Frontend Query Password
  19. Enter the password (case-sensitive) you want to use to authenticate the Query user and then press Enter. Again, it is recommended that you create a non-trivial, secure password that includes some combination of upper and lower case letters and digits.

    There is no limitation placed on the length of the password you can specify, however, some special characters, such as $ and *, have a specific meaning to the host server operating system, and should be avoided. For security purposes, the Installer does not echo characters entered as you type them. So, make sure you enter your password carefully to avoid errors in the passwords you create.

    If you chose earlier to include the AnzoGraph frontend console in your AnzoGraph deployment, the Installer now prompts:

    Choose the network HTTP/HTTPS ports to use for the AnzoGraph DB Frontend.
    AnzoGraph DB Frontend HTTP Port
    [8080]
  20. Press Enter to select the default port, 8080, as the port to use for HTTP connections to the AnzoGraph frontend console, or specify another port if 8080 is already used by another application.

    The Installer now prompts:

    AnzoGraph DB Frontend HTTPS Port
    [8443]
  21. Press Enter to select the default, 8443, as the port to use for HTTPS connections to the AnzoGraph frontend console, or specify another port if 8443 is already used by another application.

    Following the prompts for the AnzoGraph Frontend ports, the Installer now prompts:

    Install OData drivers?
    Yes [y], No [n, Enter]

    The OData drivers are used for creating data-on-demand endpoints. See Accessing Data Using OData Protocol (Preview) for more information.

  22. Press Enter or type n (No) to accept the default. Otherwise, type y (Yes) to install OData drivers that are used to establish connections with remote data sources.

    Again, if you chose earlier to include the AnzoGraph frontend console in your AnzoGraph deployment, the Installer now prompts:

    Enable ability to add and use multiple database contexts in the  
    Frontend? (To be used without LDAP configuration )?
    Yes [y], No [n, Enter]
  23. Press y (Yes) if you want the frontend console to be allowed to access multiple AnzoGraph deployments installed on different host servers. Otherwise, press Enter or type n (No) to not allow the specification of multiple frontend server contexts.

    Next, if you previously specified installation of AnzoGraph on a host server in a cluster, the Installer now prompts you to specify the IP addresses of of all host servers in the cluster:

    IP Address of nodes in cluster.
    Comma separated list of Cluster Node IP Addresses. Leader node address is
    always first. Order must be the same on all nodes in cluster.
    [XXX.n.n.XXX]
  24. Enter a comma-separated list of all host server IP addresses in the cluster.Then press Enter.

    The first IP address in the list is the server designated as the leader node. (Typically, users choose the lowest IP address to become the leader.)

    When deploying AnzoGraph in a cluster, you need to run the Installer on each host server in the cluster, specifying one server as the leader node (only one), and other servers as compute/worker nodes in the cluster. Also, when specifying the list of IP addresses of host servers in the cluster, you need to specify them in the same order on each server in the cluster. The configuration of host servers in the cluster is saved to the install_path/azg/config/ip_addrs.conf file on each server where you installed AnzoGraph, in case you need to update the cluster configuration later.

    The selection of options for AnzoGraph installation is now nearly complete. You now have the option to add any specific settings.conf configuration settings to use when AnzoGraph starts up:

    Extra configuration settings for server
    Optionally, specify additional configuration settings for the 
    AnzoGraph DB server. See the System Settings Reference in the 
    AnzoGraph DB Deployment and Users Guide for more information on
    AnzoGraph configuration settings. The settings you enter here 
    will be appended to the default settings.conf file:
    WARNING: Typically, additional settings should only be added 
    after consultation with Cambridge Semantics to address any 
    specific requirements for AnzoGraph deployment in your environment
    or use for a specific application.
    []
  25. If you have a specific settings.conf configuration setting you want to add or change, enter it here, and then press Enter.

    Next, if you are running the Installer with root permissions (sudo), the Installer prompts whether you want to automatically start configured services after it completes the AnzoGraph installation:

    Start azgmgrd service ?
    Do you want to start the azgmgrd systemd service ?
    Yes [y], No [n, Enter]
    Start AnzoGraph service ?
    Do you want to start the AnzoGraph systemd service ?
    Yes [y], No [n, Enter]
    Start Frontend/jetty service ?
    Do you want to start the AnzoGraph frontend systemd service ?
    Yes [y], No [n, Enter]

    The azgmgrd service provides system management and communication functions and is run on all host servers, standalone or in a cluster. The anzograph service provides graph database management functions, and the jetty service provides management functions for the jetty frontend application, if installed. Each service is automatically started when the host on which a service is installed starts up or is restarted. Each service is also configured to start as a particular designated user, whose permissions dictate the access that AnzoGraph has to any shared file systems. See Setting up AnzoGraph Services for more information on services.

    The Installer can only configure and automatically start AnzoGraph services when running the Installer as root (sudo). For manual configuration and startup of services, see Post-Installation Configuration and Startup.

  26. Type y (Yes) in response to each prompt to configure and start up specific services after AnzoGraph installation has finished. Otherwise, type n (No) or press Enter for services you do not want to automatically start.

    After the last entry, the Installer begins installing AnzoGraph based on your previous responses.

    Extracting files...

    When the installer is finished, it displays the message.

    Setup has finished installing AnzoGraph DB on your computer.
    Finishing installation...

Installing AnzoGraph Using the Tarball Archive File

The tarball installation provides only a minimal, barebone installation of AnzoGraph. Following AnzoGraph installation, there may be additional configuration steps you need to perform. (See Post-Installation Configuration and Startup for more information.)

Running the AnzoGraph Installer program as root (sudo) is the preferred method of installing AnzoGraph, as it will allow you to install most program options without requiring any additional post-installation configuration.

  1. Go to the AnzoGraph Download page, which lists the AnzoGraph releases that are available to download. The page offers direct download for downloading the tarball to your computer or a cURL command that you can run from a host server to download the tarball. Place the azg.tgz tarball on a standalone host server, or on each of the host servers in a cluster, and then proceed to the next step.
  2. Unpack the tarball and install AnzoGraph on each server. Install AnzoGraph in the same file system location on each server. To unpack the tarball, change directories to the location where you want to install AnzoGraph, such as your home directory. Do not choose a root-owned location. Then, run the following command to unpack the tarball and install AnzoGraph in that location:
    tar -zxf /path_to_tarball/azg.tgz

    The tarball unpacks the AnzoGraph files into a directory named azg.

Where to Go from Here

Following installation, based on the method and options you selected during installation, there may be additional required or optional post-configuration steps you need to perform. See Post-Installation Configuration and Startup for more information. For any next steps on using AnzoGraph, see Quickstart Using the Command Line Interface, a brief tutorial designed to introduce you to the AnzoGraph command line interface and provide instructions for loading and querying a sample data set as well as your own data.

Related Topics