Upgrading AnzoGraph

Follow the appropriate instructions below to upgrade AnzoGraph on a single server or a cluster setup.

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.

Upgrading AnzoGraph on a Single Server

  1. Copy the new AnzoGraph installation script to the server, and then run the following command to make the script executable:
    chmod +x installation_script_file_name
  2. Run the following commands to stop the database and the system manager daemon (sbxmgrd) for the existing installation:
    ./installation_path/AnzoGraph_root_dir/bin/azgctl -stop
    ./installation_path/AnzoGraph_root_dir/bin/azgctl -stopdaemon
  3. Run the following command to start the installation wizard and perform the upgrade:
    ./installation_script_file_name

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

  4. Press Enter to start the upgrade. The wizard detects the existing installation and asks if you want to update it.
  5. Press Enter to update the existing installation.
  6. The wizard asks if you want to update the AnzoGraph configuration settings. Cambridge Semantics recommends that you choose to update the settings whenever possible so that your installation stays up-to-date with the latest default configuration setting values.

    Type y (yes) and press Enter to update the settings. Or press Enter to preserve the current settings.

  7. If you chose not to update settings, the wizard proceeds with the upgrade. When the upgrade completes, skip to the last step and start AnzoGraph. If you chose to update the settings, continue to the next steps.
  8. 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.
  9. 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.

  10. At the server installation type prompt, accept the default option 1 (Standalone) and press Enter.
  11. To set up the Anzo protocol gRPC server, type a username for Anzo to use. Then press Enter.
  12. 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.
  13. 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 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.
  14. 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\nsnapshot_directory=/data/.

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

    enable_root_user=true
  15. The wizard extracts the AnzoGraph files and completes the installation. If you installed NGINX, run the following command to start the NGINX server:
    ./installation_path/AnzoGraph_root_dir/bin/nginxStart
  16. Start the AnzoGraph system management daemon by running the following command:
    ./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.

  17. Run the following command to start the database:
    ./installation_path/AnzoGraph_root_dir/bin/azgctl -start 

Upgrading AnzoGraph on a Cluster

Follow these steps to upgrade AnzoGraph on a cluster. The steps guide you through upgrading the leader server using the installation script and then cloning the updated AnzoGraph files to the slave nodes.

  1. Copy the new AnzoGraph installation script to the leader server, and then run the following command to make the script executable:
    chmod +x installation_script_file_name
  2. On the leader server, run the following commands to stop the database and the system manager daemons (sbxmgrd) for the existing installation:
    ./installation_path/AnzoGraph_root_dir/bin/azgctl -stop
    ./installation_path/AnzoGraph_root_dir/bin/azgctl -stopdaemon
  3. Follow these steps to upgrade the leader server:
    1. Run the following command to start the installation wizard and perform the upgrade:
      ./installation_script_file_name

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

    2. Press Enter to start the upgrade. The wizard detects the existing installation and asks if you want to update it.
    3. Press Enter to update the existing installation.
    4. The wizard asks if you want to update the AnzoGraph configuration settings. Cambridge Semantics recommends that you choose to update the settings whenever possible so that your installation stays up-to-date with the latest default configuration setting values.

      Type y (yes) and press Enter to update the settings. Or press Enter to preserve the current settings.

    5. If you chose not to update settings, the wizard proceeds with the upgrade. When the upgrade completes, skip to step 4. If you chose to update the settings, continue to step f.
    6. Specify the communication protocol(s) to enable:
      • 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.
      • 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.

    7. At the server installation type prompt, type 2 (Cluster Leader) and press Enter.
    8. To set up the Anzo protocol gRPC server, type a username for Anzo to use. Then press Enter.
    9. 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.
    10. 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.
    11. The wizard extracts the AnzoGraph files and completes the upgrade. If you installed NGINX, run the following command to start the NGINX server:
      ./installation_path/AnzoGraph_root_dir/bin/nginxStart
  4. On the leader node and on each slave node, run the following command to start the system management daemon (azgmgrd):
    ./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.

  5. Run the following command to clone the updated leader installation to the slave nodes:
    ./installation_path/AnzoGraph_root_dir/bin/azgctl -clone 

    Depending on the number of nodes in the cluster, this step can take a few minutes.

  6. When the clone process finishes and the prompt returns, follow these steps to restart the system manager daemon (sbxmgrd) on each server in the cluster:
    1. Run the following command on the leader node to stop sbxmgrd on all nodes in the cluster:
      ./installation_path/AnzoGraph_root_dir/bin/azgctl -stopdaemon
    2. On the leader node and on each slave node, run the following command to start azgmgrd:
      ../installation_path/AnzoGraph_root_dir/bin/azgmgrd

    Important: Failing to restart the system management daemon (azgmgrd) on each server after the clone process can result in an incomplete upgrade.

  7. On the leader node, run the following command to start the database:
    ./installation_path/AnzoGraph_root_dir/bin/azgctl -start
Related Topics