Installing the Anzo Server

Follow the steps below to review the prerequisites and install and configure the Anzo Server.

  1. Review the Prerequisites
  2. Install and Configure the Anzo Server
  3. (Optional) Route Anzo Ports to the Default HTTP/S Ports
  4. Configure and Start the Anzo Service

Review the Prerequisites

Before installing Anzo, double-check that the following requirements are met. If any of the items are incomplete, complete those tasks before starting the installation.

  • The host server meets the requirements in Anzo Server Requirements.
  • The platform service user account that you will use to install Anzo and run its service is available and meets the requirements in Platform Service User Account Requirements.
  • The shared file system is created and mounted and meets the requirements in Platform Shared File Storage Requirements. During the initial configuration of the server at the end of the installation, you specify the location of the shared file system. This directory is automatically added as the default shared file store in Anzo.

    If the shared data directory does not exist at the time of initial configuration, you can still complete the installation. Anzo will create the directory that is specified in the Shared Data Directory field. The NFS will need to be mounted in the specified location or configured as a new file connection before users can onboard data, run unstructured pipelines, or export data from graphmarts.

Install and Configure the Anzo Server

Follow the instructions below to install the Anzo Server.

  1. Download the installer to the Anzo host server. The installer is an interactive shell script that prompts you to set configuration options for your deployment.
  2. Change directories to the location where you copied the installer and run the following command to make the Anzo installation script executable:
    chmod +x <script_name>

    For example:

    chmod +x Anzo_unix_5_4_5_r202311151600.sh
  3. Before you run the script, make sure that you are logged in as the service user that has been designated to install and run all platform software. If necessary, you can run the following command to become the appropriate user:
    su <name>

    Where <name> is the name of the platform service user. For example:

    su anzo
  4. Run the following command to start the installation wizard:
    ./<script_name>

    For example:

    ./Anzo_unix_5_4_5_r202311151600.sh

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

  5. Press Enter to start the installation.
  6. Review the software license agreement. Press Enter to scroll through the terms. At the end of the agreement, type 1 to accept the terms or type 2 to disagree and stop the installation.

    The installer prompts you to specify the components to install:

    Which components should be installed?
    1: Server [*1]
    2: Client [*2]
    (To show the description of a component, please enter one of *1, *2)
    Please enter a comma-separated list of the selected values or [Enter] for the default selection:
    [1,2]
  7. In a comma-separated list, specify the components to install. Item 1 is the Anzo server and item 2 is the Anzo Admin command line client.

    The installer prompts you to specify the Anzo server installation location:

    Where should the Anzo Server be installed?
    [/opt/Anzo]
  8. Specify the path and directory for the installation. Press Enter to accept the default installation path or type an alternate path and then press Enter.

    Next, the installer asks if you want to create symlinks:

    Create symlinks?
    Yes [y, Enter], No [n]
  9. Indicate whether you want the installer to create symlinks. Press Enter for yes or type n and press Enter for no.
  10. If you chose to let the installer create symlinks, specify the directory to create the symlinks in. Press Enter to accept the default path or type an alternate path and then press Enter.

    The installer prompts you to configure the maximum amount of memory that the server can use:

    Choose the maximum memory that the server can use
    Please enter the maximum amount of RAM memory that the Anzo server may use.
    The minimum amount currently supported is 1024 MB. 69995 MB are available.
    Maximum Memory in MB
    [17499]
  11. Specify the maximum amount of memory (in MB) that the server can use and then press Enter. The installation wizard lists the total RAM available. To meet the minimum memory requirement, the wizard chooses 1/4 of the total memory as the default value. Cambridge Semantics recommends that you allocate at least 1/2 of the total memory to Anzo.

    The wizard installs the components that you selected and then asks if you want to start the Anzo services.

  12. Press Enter to start the Anzo services. When prompted, open a browser and go to the following URL to open the license administration wizard.
    http://<hostname>:8945/

    Where <hostname> is the Anzo server DNS name or IP address. The License Key Information screen is displayed. For example:

  13. Paste your license key into the box and then click Next. If necessary, you can obtain the license key by clicking Retrieve your license key and logging in to your Cambridge Semantics account.
  14. The wizard displays your license details. Review the details and then click Next. The wizard displays the System Configuration screen:

  15. On the left side of the screen in the System Password and Verify System Password fields, specify the password to use for the system administrator, sysadmin.

    Do not change the System User ID. It must be sysadmin. The sysadmin user account has permission to access all features in the main Anzo application as well as administrative functions in the Administration application. In addition, the sysadmin user has read and write access to all of the artifacts (Data Sources, Models, Pipelines, etc.) that are created by all Anzo users. For more information about the account, see System Administrator.

  16. On the right side of the screen under Advanced Configuration, configure the following settings as needed:
    • Storage Directory: This setting configures the location where system data, like the binary store and system journal or volume, is stored. The default location is <install_path>/Server/data. You can specify an alternate location by typing a new path and directory.
    • Anzo Shared Data Directory: This setting specifies the base location of the shared file storage (as described in Platform Shared File Storage Requirements). The default value is /opt/Anzo/shared. Change the default value to the correct location for your shared directory. For example, /opt/anzoshare/data. If the specified location does not exist, Anzo will create it. Later you can mount the directory to the specified location or configure another location as a new File Connection (see Connecting to a File Store for information).
    • HTTP Port: This setting specifies the HTTP port for Anzo. The default port is 80. Since non-root users cannot access ports below 1000, the Anzo services, which will run as the platform service user, will not be able to access port 80 when Anzo starts. Therefore, Cambridge Semantics recommends that you change this value to 8080.
    • HTTPS Port: This setting specifies the HTTPS port for Anzo. The default port is 443. For the same reason stated above for HTTP Port, Cambridge Semantics recommends that you change this value to 8443.
    • Keystore Password: This setting specifies the custom password to use for the Anzo key and trust stores. The password can be changed in the future. See Regenerate the Server Secret for information.
  17. Click Finish. The wizard configures and restarts the server. The process may take several minutes. Once the server is running, the browser displays the application login screen.

(Optional) Route Anzo Ports to the Default HTTP/S Ports

If you have a load balancer that reroutes traffic on the server and you want users to be able to access Anzo over HTTP/S without having to specify a port (8080 or 8443) in the connection URL, you can configure the firewall to forward HTTP requests to port 8080 and HTTPS requests to port 8443 automatically. This section provides instructions for rerouting ports via the iptables or firewalld interfaces.

Root user privileges are required to complete this task.

Re-route ports using the iptables interface

Run the following commands to route the Anzo ports via the iptables interface:

# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443
# iptables-save > /etc/sysconfig/iptables

Re-route ports using the firewalld interface

Run the following commands to route the Anzo ports via the firewalld interface:

# firewall-cmd --permanent --add-forward-port=port=443:proto=tcp:toport=8443
# firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080 # firewall-cmd --reload

Configure and Start the Anzo Service

The last step in the configuration is to implement the Anzo systemd service. It is important to set up the service so that the server starts automatically as the platform service user. In addition, the service is configured to tune user resource limits (ulimits) for the Anzo process. Follow the instructions below to implement and start the service.

Root user privileges are required to complete this task.

  1. If Anzo is running, run the following command to stop the server:
    ./opt/Anzo/Server/AnzoServer -stop
  2. Create a file called anzo-server.service in the /usr/lib/systemd/system directory. For example:
    # vi /usr/lib/systemd/system/anzo-server.service
  3. Add the following contents to anzo-server.service. Placeholder values are shown in bold:
    [Unit]
    Description=Service for Anzo server.
    After=syslog.target network.target local-fs.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=simple
    RemainAfterExit=yes
    LimitCPU=infinity
    LimitNOFILE=65536
    LimitAS=infinity
    LimitNPROC=65536
    LimitMEMLOCK=infinity
    LimitLOCKS=infinity
    LimitFSIZE=infinity
    WorkingDirectory=/<install_path>
    UMask=0007
    ExecStart=/<install_path>/Anzo/Server/AnzoServer start
    ExecStop=/<install_path>/Anzo/Server/AnzoServer stop
    User=<service_user_name>
    Group=<service_user_group>
    
    [Install]
    WantedBy=default.target

    Where <install_path> is the installation path and <service_user_name> and <service_user_group> are the name and group for the platform service user account. For example:

    [Unit]
    Description=Service for Anzo server.
    After=syslog.target network.target local-fs.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=simple
    RemainAfterExit=yes
    LimitCPU=infinity
    LimitNOFILE=65536
    LimitAS=infinity
    LimitNPROC=65536
    LimitMEMLOCK=infinity
    LimitLOCKS=infinity
    LimitFSIZE=infinity
    WorkingDirectory=/opt/Anzo
    UMask=0007
    ExecStart=/opt/Anzo/Server/AnzoServer start
    ExecStop=/opt/Anzo/Server/AnzoServer stop
    User=anzo
    Group=anzo
    
    [Install]
    WantedBy=default.target
  4. Save and close the file, and then run the following commands to start and enable the new service:
    # systemctl start anzo-server.service
    # systemctl enable anzo-server.service

    The client displays a message such as the following:

    Created symlink from /etc/systemd/system/default.target.wants/anzo-server.service to
    /usr/lib/systemd/system/anzo-server.service.

    Once the service is enabled, the Anzo Server services are started. The server can be stopped and started with the following systemctl commands: sudo systemctl stop anzo-server and sudo systemctl start anzo-server.

Once the all of the Anzo services are running, the Server Settings screen in the Administration application is displayed. In the application, you can change settings as needed, add connections to other platform components, and manage user accounts. See Getting Started with Admin after a New Installation for information on completing the important administrative tasks.

For tips on strengthening the security of Anzo environments after installation, see Securing an Anzo Environment.