Installing AnzoGraph on a Cluster

Follow the instructions below to install AnzoGraph on a cluster.

Important: Cambridge Semantics recommends that you do not install or run AnzoGraph as the root user. Because AnzoGraph offers features such as user-defined extensions, it is not secure software certified.

For instructions on installing AnzoGraph on a single server, see Installing AnzoGraph on a Single Server.

1. Prepare the Cluster Servers

  1. Make sure that all AnzoGraph host servers meet the requirements in Prerequisite Server Configuration.
  2. Make note of the IP addresses for each of the servers in the cluster. The installation wizard will prompt you to enter the IP addresses during the installation.
  3. Copy the AnzoGraph installation script to each AnzoGraph host server, and then run the following command to make the script executable:
    chmod +x installation_script_file_name

2. Install AnzoGraph on the Slave Servers and Start the System Manager Daemon

Complete these steps on each of the slave servers to install AnzoGraph and start the system manager daemon, which controls communication between the servers:

  1. Run the following command to start the installation wizard:
    ./installation_script_file_name

    The wizard unpacks the JRE and then waits for input before starting the installation.

  2. Press Enter to proceed with the installation.
  3. Specify the directory to install AnzoGraph. Press Enter to accept the default installation directory or type an alternate path and then press Enter. Make sure that you specify the same installation directory on all servers.
  4. Indicate whether this installation is for use with Anzo. Answering yes configures AnzoGraph to use the settings that are optimal for Anzo. Answering no configures the settings that are optimal for AnzoGraph standalone use.
  5. Specify the communication protocol(s) to enable:
    1. For the Anzo protocol (grpc) prompt, accept the default selection (yes) and press Enter. The Anzo protocol is the secure gRPC-based protocol that you use for communication between Anzo and AnzoGraph.
    2. For the SPARQL HTTP protocol prompt, Cambridge Semantics recommends that you accept the default selection (no). Enabling the SPARQL HTTP protocol opens the standard SPARQL-compliant HTTP endpoint. Unlike the Anzo protocol endpoint, the SPARQL HTTP endpoint is not secured. If you enable this option, the installation wizard prompts you to acknowledge that the setup is insecure. If you answer yes, later in the installation the wizard prompts you to specify whether you want to install NGINX as an SSL authentication proxy.

      If you want to connect additional applications to AnzoGraph, enable the SPARQL HTTP protocol for communication with those applications.

  6. At the server installation type prompt, type 3 (Cluster Slave) and press Enter.
  7. Type a comma-separated list of the IP addresses for each server in the cluster. Type the leader server IP address first, followed by each slave IP address. For example, on a cluster with 4 servers where 192.168.2.1 is the leader server:
    192.168.2.1,192.168.2.2,192.168.2.3,192.168.2.4

    Important: Make sure that you enter this value exactly the same, with IP addresses in the same order, during the installation of each slave.

  8. After typing the list of IP addresses, press Enter. The wizard extracts the AnzoGraph files and completes the installation.
  9. When the installation is complete, if you did not previously make the Linux kernel configuration changes required by AnzoGraph (as described in Prerequisite Server Configuration), run the following command to execute the system configuration utility and make the necessary changes:
    sudo ./installation_path/AnzoGraph_root_dir/bin/azg_system_config

    Note: If the kernel configuration changes were not implemented prior to the installation and you do not have sudo permissions to run azg_system_config, you can skip this step for the slave servers.

  10. Run the following command to start the system manager daemon. The system manager daemon is a lightweight program that runs at all times and manages the communication between AnzoGraph servers:
    ./installation_path/AnzoGraph_root_dir/bin/azgmgrd

    Note: If you run the command as the root user, the system manager displays the following error message:

    azgctl Exiting: Error - Cannot execute as user 'root'.
    To override this security protection, set 'enable_root_user=true':
    Invalid user id

    To resolve the issue, follow the instructions in Changing AnzoGraph Configuration Settings to add enable_root_user=true to the AnzoGraph settings file and enable root user access. Then repeat this step.

3. Install AnzoGraph on the Leader Server and Start the Database

Complete these steps on the leader server to install AnzoGraph and start the database on the cluster:

  1. Run the following command to start the installation wizard:
    ./installation_script_file_name

    The wizard unpacks the JRE and then waits for input before starting the installation.

  2. Press Enter to proceed with the installation.
  3. Specify the directory to install AnzoGraph. Press Enter to accept the default installation directory or type an alternate path and then press Enter. Make sure that you specify the same installation directory that you did when you installed the slave servers.
  4. Indicate whether this installation is for use with Anzo. Answering yes configures AnzoGraph to use the settings that are optimal for Anzo. Answering no configures the settings that are optimal for AnzoGraph standalone use.
  5. Specify the communication protocol(s) to enable:
    1. For the Anzo protocol (grpc) prompt, accept the default selection (yes) and press Enter. The Anzo protocol is the secure gRPC-based protocol that you use for communication between Anzo and AnzoGraph.
    2. For the SPARQL HTTP protocol prompt, Cambridge Semantics recommends that you accept the default selection (no). Enabling the SPARQL HTTP protocol opens the standard SPARQL-compliant HTTP endpoint. Unlike the Anzo protocol endpoint, the SPARQL HTTP endpoint is not secured. If you enable this option, the installation wizard prompts you to acknowledge that the setup is insecure. If you answer yes, later in the installation the wizard prompts you to specify whether you want to install NGINX as an SSL authentication proxy.

      If you want to connect additional applications to AnzoGraph, enable the SPARQL HTTP protocol for communication with those applications.

  6. At the server installation type prompt, type 2 (Cluster Leader) and press Enter.
  7. To set up the Anzo protocol gRPC server, type a username to use for authentication. Anzo will use this username to connect to AnzoGraph. Then press Enter.
  8. Type a password for the Anzo username and press Enter. Note: Some special characters, such as $ and *, are treated as parameters in bash. When typing a password, avoid or escape special characters to remove their special meaning to the command line. For more information, see Quoting in the Bash Reference Manual.
  9. If you enabled the SPARQL HTTP protocol, the installation wizard prompts you to configure the SPARQL server:
    1. Specify the port to use for SPARQL applications. Press Enter to accept the default port, 7070, or type an alternate port and then press Enter.
    2. Specify whether to use NGINX SSL authentication for the SPARQL port:
      • If you do not want to use SSL authentication between the Anzo server and AnzoGraph, accept the default value n (no) at the Setup Nginx SSL Authentication Proxy prompt and press Enter.
      • If you do want to use SSL authentication, type y (yes) and press Enter, then follow these instructions:
        1. Specify the secure network port to use and press Enter.
        2. Specify the username for the HTTP user and press Enter.
        3. Type the password to use for the HTTP user, and then press Enter.
  10. Enter the comma-separated list of the IP addresses for each server in the cluster. Make sure that this value exactly matches the list that you entered when you installed AnzoGraph on the slave servers. After typing the list of IP addresses, press Enter.
  11. Configure any additional AnzoGraph settings. If Cambridge Semantics Support provided custom settings to use for your configuration, type the supplied values and then press Enter. Separate multiple settings with the new line escape sequence, \n. For example, the following entry sets two custom settings: truncate_clob=true\npersistence_directory=/data/.

    Note: If you are installing AnzoGraph as the root user, add the following value to this prompt:

    enable_root_user=true

    The wizard extracts the AnzoGraph files and completes the installation.

  12. When the installation is complete, if you did not previously make the Linux kernel configuration changes required by AnzoGraph (as described in Prerequisite Server Configuration), run the following command to execute the system configuration utility and make the necessary changes:
    sudo ./installation_path/AnzoGraph_root_dir/bin/azg_system_config

    Note: If the kernel configuration changes were not implemented prior to the installation and you do not have sudo permissions to run azg_system_config, follow the instructions in Changing AnzoGraph Configuration Settings to add allow_alternate_vm_config_against_recommendations=true to the AnzoGraph settings file. This setting enables AnzoGraph to start with non-optimal Linux configurations.

  13. If you installed NGINX, run the following command to start the NGINX server:
    ./installation_path/AnzoGraph_root_dir/bin/nginxStart
  14. Run the following command to start the leader server's system management daemon:
    ./installation_path/AnzoGraph_root_dir/bin/azgmgrd

    Note: If you run the command as the root user and did not enable root user access during the installation, the system manager displays the following error message:

    azgctl Exiting: Error - Cannot execute as user 'root'.
    To override this security protection, set 'enable_root_user=true':
    Invalid user id

    To resolve the issue, follow the instructions in Changing AnzoGraph Configuration Settings to add enable_root_user=true to the AnzoGraph settings file and enable root user access. Then repeat this step.

  15. Run the following command to start the database on the cluster:
    ./installation_path/AnzoGraph_root_dir/bin/azgctl -start

For instructions on configuring the connection to AnzoGraph in the Anzo console, see Configuring an AnzoGraph Connection.

Related Topics