Install AnzoGraph DB

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

When deploying AnzoGraph DB in a cluster, run the installer on each server in the cluster. Choose one server to be the leader node and designate all other servers as compute/worker nodes.

The installer does support "silent" (unattended) operation in which no user interaction is required and prompt answers are provided by a response file. After the AnzoGraph DB installation, the response file (response.varfile) is generated in the <install_path>/.install4j/ directory. After installing AnzoGraph DB on one compute/worker node, for example, you could copy the response file to the other compute/worker servers and then run the following command to silently run the installer with the same responses as the first installation:

./<script_name>.sh -q -varfile /<path_to_file>/response.varfile

For more information about silent (unattended) installation and using response files, see Generated Installers in the install4j Help.

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.
  2. Download the Installer to each AnzoGraph DB host server. 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 script and run the following command to make the script executable:
    chmod +x <file_name>.sh
  4. Start the installer using root (sudo) permissions. For example:
    sudo ./anzograph_linux_3_1_0_r202401232307.sh

    The installer first verifies that the prerequisites listed in Prerequisite Software are installed and presents a message if any are missing. For example, on a server where OpenJDK and binutils are installed but the glibc-devel package is missing, the installer displays the following message and the installation is canceled. In this case, the user would follow the instructions in Install the GNU C Devel Library and then restart the installation.

    Starting Installer ...
    Prerequisite software packages
    
    The following packages are missing on your system and are required to
    be installed before proceeding with the AnzoGraph installation:
    - glibc-devel
    
    Canceling the installation, install the missing software, and then run
    the installer again.

    If the prerequisite software is installed, but the C++ dependencies are not, the installer presents an informational message to let you know the dependencies are required but it is recommended that you install them after the AnzoGraph DB installation. For example:

    Starting Installer ...
    Prerequisite software packages
    
    INFO: The following C++ dependencies are also required and missing from your
    system. However, Cambridge Semantics recommends that you install them after
    the AnzoGraph installation is complete. Follow the Post-Installation
    instructions in the online documentation.
    libarchive
    libarmadillo12
    libboost_filesystem1_80_0
    libboost_iostreams1_80_0
    libboost_system1_80_0
    libflatbuffers2
    libhdfs3
    libnfs13
    libserd-0-0
    libsmb2
    shadow-utils

    If all dependencies are installed or you proceed with the installation after getting the informational message, the license agreement is displayed. Press Enter to scroll through the text. At the end you are prompted to accept the agreement.

    Starting Installer ...
    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
    ...
    I accept the agreement
    Yes [1], No [2]
  5. 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 are created inside the directory that you specify in this prompt. One subdirectory is named anzograph and includes the installation files. Several other directories are created and include files such as systemd service files, a tuned profile, and a .repo file that can be used to install the 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.

  6. Press Enter to select the default installation directory or specify an alternate location and then press Enter. When deploying a cluster, make sure you install AnzoGraph DB in the same location on each server in the cluster.

    Next the installer asks if you are installing AnzoGraph DB on a single server or a cluster:

    Type of server being installed.
    Server Installation Type
    Standalone [1, Enter], Cluster Leader [2], Cluster Compute/Worker [3]
  7. If you are deploying AnzoGraph DB on a single server, press Enter or type 1 (the default) and then press Enter. When deploying a cluster, specify whether the server you are currently installing is the leader node or a compute/worker node.

    Type 2 if the role of the server is the leader node, or type 3 if the role of the server is a compute or worker node. Then press Enter to continue.

    The installer now prompts you to set up the user credentials for the administrator:

    Set up the AnzoGraph Admin user.
    AnzoGraph DB Admin user
    [admin]
  8. Press Enter to accept the default user name, admin, or type another user name (case-sensitive) and press Enter. The installer asks you to create a password for the Admin user.
    AnzoGraph DB Admin password
  9. Enter the case-sensitive password 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.

    Next, the installer asks if AnzoGraph DB will be used with Anzo:

    Is this AnzoGraph DB installation intended for use with Anzo?
    Yes [y, Enter], No [n]
  10. Type n (No) to install AnzoGraph DB as a standalone deployment without Anzo and then press Enter. Type y (Yes) or press Enter if the AnzoGraph DB installation will be used with Anzo.

    Prompts differ based on whether the AnzoGraph DB installation will be used with or without Anzo. The following instructions describe options for deployments that are not integrated with Anzo. See Deploying a Static AnzoGraph Cluster in the Anzo Documentation for installation instructions of AnzoGraph for use with Anzo.

    After specifying that AnzoGraph DB is not intended for use with Anzo, the installer prompts you to specify the AnzoGraph DB service user name. The default name is anzograph.

    Setup Anzograph service user name
    AnzoGraph service user
    [anzograph]
  11. Press Enter to accept the default name, anzograph, or type an alternate name and then press Enter if a different name is used for the account.

    Next, the installer asks which components to install. 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.

    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 instructions below describe the prompts that are displayed when both the backend and frontend are installed.

  12. Press Enter to accept the default, 1, if you do not want to install the user interface. Specify 1,2 and press Enter to install both AnzoGraph DB and the frontend application. Or specify 2 and press Enter to install the frontend only.

    The installer now prompts you to set up the user credentials for the query user, a user without administrative access:

    Set up the AnzoGraph DB Query User
    AnzoGraph DB Query User
    [query]
  13. Press Enter to accept the default user name, query, or type another user name (case-sensitive) and press Enter. The installer asks you to create a password for the query user.
    AnzoGraph DB Query password
    
  14. Enter the case-sensitive password for the query 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.

    Next, the installer asks whether you want to enable access control (ACL) functionality:

    ACL Configurations
    Do you want to enable ACL? 
    Yes [y], No [n, Enter]
  15. If you do not want to enable ACL, press Enter or type n and then press Enter. To enable the functionality, type y (Yes) and press Enter. See Authentication and Access Control for information.
  16. If you chose to enable ACL, the installer prompts you to specify a password for the superadmin user. This user has the permission to manage roles and grant or revoke permissions to members in those roles.
    Please enter ACL superadmin password

    Enter the password (case-sensitive) you want to use for the superadmin user and then press Enter.

  17. Next, if you chose to install the frontend, the installer prompts you to specify the HTTP/S ports to use for the application:
    Choose the network HTTP/HTTPS ports and other configurations to use for the AnzoGraph DB Frontend.
    AnzoGraph DB Frontend HTTP Port
    [8080]
  18. Press Enter to select the default port, 8080, as the port to use for HTTP connections, or specify another port if 8080 is in use. The installer prompts you to set the HTTPS port:
    AnzoGraph DB Frontend HTTPS Port
    [8443]
  19. Press Enter to select the default, 8443, as the port to use for HTTPS connections, or specify another port if 8443 is in use. Next the installer asks if you want to install the OData drivers. The OData drivers are used for creating Data on Demand endpoints. See Access Data with OData Protocol for information.
    Install OData drivers?
    Yes [y], No [n, Enter]
  20. Press Enter or type n (No) to accept the default. Otherwise, type y (Yes) to install the OData drivers. If you chose to install the frontend console, the installer asks if you want to be able to connect to multiple AnzoGraph DB instances from the same user interface:
    Enable ability to add and use multiple DB Contexts in the Frontend
    (To be used without LDAP configuration)?  
    Yes [y], No [n, Enter]
  21. Press y (Yes) if you want the frontend console to be allowed to access multiple AnzoGraph DB instances. Otherwise, press Enter or type n (No) to disable the functionality.

    If you specified that this is a cluster, the installer 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]
  22. Enter a comma-separated list of all server IP addresses in the cluster. The first IP address in the list is the server designated as the leader node. Then press Enter.

    Specify the list of IP addresses in the same order on each server in the cluster. The configuration of host servers is saved to the <install_path>/config/ip_addrs.conf file on each server.

    For standalone or leader node installations, the installer asks if you want to add any specific configuration settings to use when AnzoGraph DB starts up:

    Extra configuration settings for server
    ...
    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.
    []
  23. If you have a custom setting=value to add, enter it in the prompt, and then press Enter. The installer asks if you want to automatically start the AnzoGraph DB services after it completes the installation. First it asks if you want to start the azgmgrd service. This service provides system management and communication functions and is run on all host servers:
    Start azgmgrd service?
    Do you want to start the azgmgrd systemd service?
    Yes [y], No [n, Enter]
  24. Type y (Yes) and press Enter to start the system management service. If this is a single server (standalone) or leader node install the installer prompts you to start the anzograph service. This is the database service. In a cluster, only the leader node runs this service, and the leader starts the database on the compute/worker nodes.
    Start AnzoGraph service?
    Do you want to start the AnzoGraph systemd service?
    Yes [y], No [n, Enter]
  25. Type y (Yes) and press Enter to start the database service. If you installed the frontend, the installer asks if you want to start the jetty service. This service provides management functions for the jetty frontend application.
    Start Frontend/jetty service?
    Do you want to start the AnzoGraph frontend systemd service?
    Yes [y], No [n, Enter]
  26. Type y (Yes) and press Enter to start the jetty service. The installer begins installing AnzoGraph DB based on your responses.
    Extracting files...

    When the installer is finished, it displays the following message.

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

The installer creates an anzograph subdirectory in the install location that you specified. That directory contains the AnzoGraph DB executables, configuration, logs, and other program files. The frontend, example systemd service and repo files, and the uninstall script are saved at the same level as the anzograph directory. Next, complete the required and optional post-configuration steps. See Post-Installation Configuration.