Anaconda Enterprise: Documentation

# Installation requirements

- Hardware requirements
- Software requirements
- Security requirements
- Network requirements
- Other requirements
- What’s next

## Hardware requirements

AEN server—At least:

- 2+GB RAM.
- 2+CPU cores.
- 20GB storage.

AEN gateway—At least:

- 2 GB RAM.
- 2 CPU cores.

AEN compute (N-machines)—Configured to meet the needs of the projects. At least:

- 2GB RAM.
- 2 CPU cores.
- 20 GB.

NOTE: We recommend putting `/opt/wakari` and `/projects` on the same filesystem. If the project and conda env directories are on separate filesystems then more disk space will be required on compute nodes and performance will be worse.

## Software requirements

- RHEL/CentOS on all nodes. Versions from 6.5 through 7.4 are supported. Other operating systems are supported. However, this document assumes RHEL or CentOS.
- Linux home directories—Jupyter looks in $HOME for profiles and extensions.
- Ability to install in AEN directory `/opt/wakari` with at least 10 GB of storage.
- Ability to install in Projects directory `/projects` with at least 20 GB of storage. Size depends on number and size of projects.

### Linux system accounts

Some Linux system accounts (UIDs) are added to the system during installation.

If your organization requires special actions, the following list is available:

- mongod (RHEL) or mongodb (Ubuntu/Debian)—created by the RPM or deb package.

- elasticsearch—created by RPM or deb package.

- nginx—created by RPM or deb package.

- AEN_SRVC_ACCT—created during installation of AEN, and defaults to wakari.

- ANON_USER—An account such as “public” or “anonymous” on the compute node.

  NOTE: If ANON_USER is not found, AEN_SRVC_ACCT will attempt to create it. If it fails, the project(s) will fail to start.

- ACL directories need the filesystem mounted with Posix ACL support (Posix.1e).

  NOTE: You can verify ACL from the command line by running `mount` and `tune2fs -l /path/to/filesystem | grep options`.

### Software prerequisites

- AEN server:

  - Mongo—Equal to or higher than version 2.6.8 and lower than version 3.0.
  - NGINX—Equal to or higher than version 1.6.2.
  - Elasticsearch—Equal to or higher than version 1.7.2.
  - Oracle JRE version 7 or 8.
  - bzip2.

- AEN Gateway:

  - bzip2.

- AEN compute:

  - git

  - bzip2

  - bash or zsh

  - X Window System

    NOTE: If you don’t want to install the whole X Window System, you must install the following packages to have R plotting support:

        sudo yum install -y libXrender libXext libXdmcp libSM libICE libXt \
        dejavu-sans-fonts dejavu-serif-fonts dejavu-fonts-common \
        fontpackages-filesystem

## Security requirements

- Root or sudo access.
- SELinux in permissive or disabled mode.

Edit the following file using either root or sudo access:

    /etc/sysconfig/selinux

Edit the following:

    # This file controls the state of SELinux on the system.
        # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.

    SELINUX=enforcing

    # SELINUXTYPE= can take one of these two values:
        #     targeted - Targeted processes are protected,
        #     mls - Multi Level Security protection.

    SELINUXTYPE=targeted

NOTE: You must reboot for the changes to take effect.

Verify changes with `getenforce`.

## Network requirements

TCP Ports:

Direction | Type | Default Port | Protocol | Optional | Configurable | Comments
--- | --- | --- | --- | --- | --- | ---
Inbound | TCP | 80 | HTTP or HTTPS | No | Yes | Server
Inbound | TCP | 8089 | HTTP or HTTPS | No | Yes | Gateway
Inbound | TCP | 5002 | HTTP | No | Yes | Compute

## Other requirements

As long as the above requirements are met, there are no additional dependencies for AEN.

See also system requirements for Anaconda Repository and Anaconda Scale.

## What’s next

Prepare for installation.