Installing AnzoGraph DB

Before installing AnzoGraph DB, make sure that the host server (or each host server in a cluster) meets the requirements in Server and Cluster Requirements and that you have installed any prerequisite software (See Prerequisites and Pre-Installation Configuration).

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 DB 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 the user installing AnzoGraph DB must have access and sufficient permissions to the location they specify to install AnzoGraph DB. 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 DB are provided, but you must manually configure the services to start AnzoGraph DB after installation.

See Post-Installation Configuration and Startup for more information on what additional configuration and setup may be required.

To proceed with the installation, follow the steps below:

  1. Go to the AnzoGraph Download page, which lists the AnzoGraph DB releases that are available to download. For example:

  2. Download the Installer to the AnzoGraph DB host server (or on each host server in a cluster). The Installer is an interactive shell script that prompts you to specify configuration options for your deployment.
  3. Change directories to the location where you copied the Installer script.
  4. Run the following command to make the script executable:
    chmod +x anzograph_linux_2_5_8_r202207071829.sh
  5. Start the Installer using root (sudo) permissions. For example:
    sudo ./anzograph_linux_2_5_8_r202207071829.sh

    The Installer starts execution, first reminding you of the prerequisite software you need to have installed prior to or after installing AnzoGraph DB.

    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 DB 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 to scroll through the terms of the agreement. At the end of the license agreement, the Installer displays the following prompt:
    I accept the agreement
    Yes [1], No [2]
  8. Enter 1 to accept the license agreement and continue the installation.

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

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

    Two subdirectories and an uninstall script will be created inside the directory that you specify in this prompt. One subdirectory is named anzograph and includes the installation files. The other is an examples directory that contains systemd service files, a tuned profile, and a .repo file that can be used to install the optional C++ extension dependencies. Because an anzograph directory will be created, you may not want to specify /opt/anzograph as the install location because that will result in an /opt/anzograph/anzograph directory.

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

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

    Next the Installer prompts about whether AnzoGraph DB will operate as a single server deployment or a cluster. When deploying a cluster, you specify whether the server on which you are currently installing AnzoGraph DB is the leader node or a compute/worker node:

    Type of server being installed.
    Server Installation Type
    Standalone [1, Enter], Cluster Leader [2], Cluster Compute/Worker [3]
  10. If you are deploying AnzoGraph DB on a standalone single server, press Enter or enter 1 (the default). Otherwise, enter 2 to specify the role of the host server is the leader node in the cluster or enter 3 to specify the role of the host server as a compute or worker node.

    When deploying AnzoGraph DB 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.

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

    Set up the AnzoGraph DB Admin user.
    AnzoGraph DB Admin user
    [admin]
  11. Press Enter to accept the default, admin, as a user with administrative AnzoGraph DB 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) for 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 DB as a standalone deployment without Anzo. Otherwise type y (Yes) or press Enter if the AnzoGraph DB installation will be used with Anzo.

    Installer prompts differ based on whether the AnzoGraph DB installation will be used with Anzo or without. Instructions provided below describe options for deployments that are not intended to be used with Anzo. See Deploying a Static AnzoGraph Cluster in the Anzo Documentation for installation instructions specific to AnzoGraph for use with Anzo.

    After specifying that AnzoGraph DB 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 graph database without the Jetty web-based frontend application. The second option, AnzoGraph DB Frontend, only installs the frontend application.

    The instructions below describe the prompts that are displayed when both the backend and frontend are installed.

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

    The Installer now asks whether to install the C++ UDXs, which include the IO Load Service, Arrow, Data Science, and other extension libraries:

    Server Configurations
    Do you want to install C++ UDXs packaged with AnzoGraph DB?
    Yes [y], No [n, Enter]
  15. Cambridge Semantics strongly recommends that you enter y (Yes) to install the AnzoGraph DB C++ UDXs. If you do not want to install the extensions, press Enter or enter n (No, the default).

    When you install the AnzoGraph DB UDXs, you also need to install additional C++ dependency and support libraries required to run the extensions. See Install Dependencies to Run the C++ Extensions for more information.

    Next the Installer prompts whether you want to enable access control (ACL) functionality:

    ACL Configurations
    Do you want to enable ACL? 
    Yes [y], No [n, Enter]
  16. If you do not want to enable ACL, press Enter or enter n (No, the default). Otherwise, enter y (Yes) to enable the functionality.

    For information on AnzoGraph DB's built-in access control, see Authentication and Access Control

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

    Please enter ACL superadmin password
  17. Enter the password (case-sensitive) you want to use for 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 DB frontend, the Installer now displays a series of prompts to specify a query user password and HTTP/HTTPS ports to access the AnzoGraph DB frontend console.

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

    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 prompts you to specify the HTTP/S ports to use for the frontend application:

    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, or specify another port if 8080 is already in use.

    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, or specify another port if 8443 is already in use.

    Following the prompts for the 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 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 to include the AnzoGraph DB frontend console in your AnzoGraph DB 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 DB instances installed on separate host servers. Otherwise, press Enter or type n (No) to disable the specification of multiple frontend server contexts.

    Next, if you previously specified installation of AnzoGraph DB on a host server in a cluster, the Installer now prompts you to specify the IP addresses 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. For cluster installations, 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.

    When deploying AnzoGraph DB 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, specify the same list of IP addresses, 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.

    Also note that the AnzoGraph DB installer does support "silent" (unattended) installer operation in which no user interaction is required and prompt answers are provided by a response file. After AnzoGraph DB installation, the response file (response.varfile) is generated in the <install_path>/.install4j/ directory. So, for example, after installing AnzoGraph DB on one compute/worker node, you could use the same response file to repeat installation on all the other compute/worker nodes in the cluster by running the following command. For example:

    ./anzograph_linux_2_5_8_r202207071829.sh -q -varfile response.varfile 

    For more information about silent (unattended) installation and using response files, see https://www.ej-technologies.com/resources/install4j/help/doc/installers/$folder$.html.

    For standalone or leader node installations, you now have the option to add any specific configuration settings to use when AnzoGraph DB 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 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]

    For compute/worker nodes, only the azgmgrd systemd service is run, which provides communication with the leader node and other compute/worker nodes in the cluster.

    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 DB has to any shared file systems. See Set up the AnzoGraph Services for more information on services.

    The Installer can only configure and automatically start AnzoGraph DB 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 DB 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 DB 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...

The Installer creates an anzograph subdirectory in which it installs AnzoGraph DB files. For example, if you selected the default directory location, /opt/cambridgesemantics, the installer would create a subdirectory named /opt/cambridgesemantics/anzograph, where various AnzoGraph DB executable, configuration, and other program files are installed. In addition, other AnzoGraph DB files such as the frontend, example systemd service and repo files, and the uninstall script are saved at the same level as the anzograph subdirectory.

Where to Go from Here

Following 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 DB, see Get Started.

Related Topics