Prerequisites and Pre-Installation Configuration
This section provides instructions for installing required software and configuring optimal user resource settings for host servers prior to AnzoGraph installation and deployment in both single server and cluster environments.
Before installing AnzoGraph on a single server, make sure that the host server meets the requirements in Server and Cluster Requirements. If you are installing AnzoGraph on a cluster, make sure that all host servers in the cluster meet the same requirements.
Besides a tarball file provided for basic installation, AnzoGraph provides an Installer shell script that directs you through the entire installation process, prompting you to choose specific options to include in the final AnzoGraph installation. There are two different modes in which you can run the Installer, root (sudo) or non-root. Depending on the method or mode you choose to install AnzoGraph, there may be additional configuration steps you need to perform following installation. See Post-Installation Configuration and Startup for more information on any potential additional steps you may need to perform following AnzoGraph installation.
See Installing AnzoGraph for instructions on running the Installer script and installing AnzoGraph in both single server environments as well as in a cluster. During the installation, you are also prompted to specify whether you will be using AnzoGraph in a standalone environment, versus operation with Cambridge Semantics Anzo, and choose from other AnzoGraph program options as well.
Running the Installer in root (sudo) mode is the preferred method of AnzoGraph installation, since it allows automatic installation of most components without requiring additional post-install configuration. In addition, services are automatically configured and you can also choose to automatically start AnzoGraph services after installation is completed.
AnzoGraph Users
Mode dependent. When running the Installer as root (sudo), customers can create their own service users before installation. File system permissions will be based on the permissions of defined users. The Installer will automatically create an anzograph user and, if the AnzoGraph frontend is installed, a jetty user. If customers do not create their own service users, the Installer will create them automatically.
For sudo installations, systemd units are created in /etc/systemd/system for azgmgrd and anzograph; a jetty systemd unit is also created when the AnzoGraph frontend is installed. By default, these systemd units will use the anzograph user and the jetty user for anzograph and the jetty frontend, respectively.
When running the Installer as a non-root user, the Installer does not create any users and file system permissions are based on the current user who performs the installation. Example systemd units, located in the <Install_dir>/examples directory, are provided as a template for customers to configure on their own.
Installing OpenJDK
Required for all methods or modes of installation. AnzoGraph requires that you install OpenJDK Version 11 on each host server where you will install AnzoGraph (standalone or in a cluster):
sudo yum install java-11-openjdk --enablerepo=csi*
If you are running the Installer with root (sudo) permissions, the Installer script will automatically set the JAVA_HOME path in the azgmgrd.service file it creates for you when installation is completed. Otherwise, you will need to set JAVA_HOME manually after AnzoGraph installation is completed. See Post-Installation Configuration and Startup for more information.
Installing the GNU Compiler (GCC)
Required for all methods or modes of installation. AnzoGraph requires the latest version of the GCC tools for your operating system. Run the following command to install GCC on each host server where you will install AnzoGraph (standalone single server or in a cluster):
sudo yum install gcc
Specifically, AnzoGraph requires the glibc, glibc-devel, and gcc-c++ libraries. Typically, when you install GCC by running yum install gcc
, those libraries are included as part of the package. In rare cases, depending on the host server configuration, installing GCC excludes certain libraries. If AnzoGraph fails to start and you receive a "Compilation failed" message, it may indicate that some of the required libraries are missing. To install the missing libraries, run the following command:
sudo yum install glibc glibc-devel gcc-c++
Tuning User Resource Limits (ulimits)
Applicable for all methods or modes of installation. Cambridge Semantics recommends that you tune the user resource limits (ulimits) for your Linux distribution in a single server standalone environment (or on every host server in a cluster environment), to increase the limits (from default settings) for the following resources. Tune ulimits on all servers where AnzoGraph will be installed:
- Increase the open files limit to at least 4096.
- Increase the limit for the following resources to unlimited:
- cpu time
- file locks
- file size
- max memory size
- max user processes
- virtual memory
Resource tuning settings are automatically configured in the azgmgrd systemd unit when you run the Installer as root (sudo).
To view the current ulimits, run ulimit -a
. To permanently change ulimits, modify the /etc/security/limits.conf
file. For more information, see How to set ulimit values in the RHEL support documentation.
Also make sure that the Linux environment variables http_proxy and https_proxy are not set. The Anzo gRPC protocol cannot make connections to the database when proxies are enabled.