Installer Prerequisites and Guidelines

The node on which you run the installer and the nodes you plan to include in your cluster must meet the following requirements.

Installer Requirements

The node that runs the Installer must meet the following requirements:
Installer Node
Beginning with Installer 1.6, the node that runs the Installer does not need to be one of the nodes you plan to install the cluster on. Ensure that the default umask for the root user is set to 0022 on all nodes in the cluster. The umask setting is changed in the /etc/profile file, or in the .cshrc or .login file. The root user must have a 0022 umask because the admin user requires access to all files and directories under the /opt/mapr directory, even those initially created by root services.
Package Dependencies
Based on the operating system, the Installer requires the following packages. If these packages are not found, the Installer will attempt to download them from Internet repositories:
Ubuntu Nodes Red Hat / CentOS Nodes SUSE Nodes
  • ca-certificates
  • curl*
  • debianutils
  • dnsutils
  • iputils-arping
  • libnss3
  • libssl1.0.0
  • libsysfs2
  • netcat
  • nfs-common
  • ntp
  • ntpdate
  • openssl
  • python-dev
  • python-pycurl
  • sdparm
  • sudo
  • syslinux
  • sysstat
  • uuid-runtime
  • wget
  • curl*
  • device-mapper
  • iputils
  • libsysfs
  • lvm2
  • nc
  • nfs-utils
  • ntp
  • nss
  • openssl
  • python-devel
  • sdparm
  • sudo
  • syslinux
  • sysstat
  • wget
  • which
  • yum-utils
  • ca-certificates
  • curl*
  • device-mapper
  • iputils
  • libopenssl1_0_0
  • sysfsutils
  • lvm2
  • mozilla-nss
  • nfs-client
  • ntp
  • sdparm
  • sudo
  • syslinux
  • sysstat
  • util-linux
  • wget
  • libfreebl3

*The curl version must be greater than 7.51.0.

Repository Connectivity
The Installer requires connectivity to valid repositories for the:
  • Operating system
  • Core
  • Ecosystem Pack (MEP)
The Installer can connect to an Internet repository or to a preinstalled local repository, as described in Using a Local, Shared Repository With the Installer. If the Installer dependencies and packages are present, but there is no connectivity to an OS repository, the Installer fails with the following error message:
ERROR: Unable to install dependencies (installer). Ensure that a core OS repo is enabled and retry mapr-setup.sh
Java
Installer 1.14 requires Java JDK 11 or an equivalent Java distribution. Before using Installer 1.14 on Ubuntu 16.04 nodes, you must manually install the JDK. If you are using Installer 1.14 on RHEL/CentOS or SUSE, the Installer installs OpenJDK 11 for you.

For more information about the supported Java JDK versions, see the JDK Support Matrix and Software.

SSH Access
The MapR Installer must have SSH access to all nodes that you want to include in the cluster.
Port Availability
Port 9443 or the non-default port that you configure using mapr-setup.sh must be accessible on the Installer node to all nodes that you want to include in the cluster.
Supported Web Browsers
Once the Installer is installed and configured, you can use the following web browsers to access the Installer web interface:
  • Safari
  • Firefox
  • Chrome

User Requirements

The installation process requires a valid MapR user to be present on all nodes in the cluster. The Installer can create a user (the mapr user) for you or use a user that you have created. If you choose to create a user, make sure the following conditions are met:

  • The user must have a home directory and a password.
  • The user must be present on all nodes in the cluster.
  • The numeric user and group IDs (MAPR_UID and MAPR_GUID) must be configured for the user, and these values must match on all nodes.
  • The mapr user and root user must be configured to use bash. Other shells are not supported.

If the user is not a valid user, installation errors can result. For information about creating the user, see Managing Users and Groups.

If you choose to have the installer create the user, the installer runs the following command to add a local user to serve as the cluster admin user:

useradd -m -u $MAPR_UID -g $MAPR_GID -G $(stat -c '%G' /etc/shadow) $MAPR_USER
In this command:
  • MAPR_USER defaults to mapr.
  • MAPR_UID defaults to 5000.
  • MAPR_GID defaults to 5000.
  • The home directory is typically /home/mapr.

The installer also adds the following to the MAPR_USER .bashrc file:

[[ -f {{ mapr_home }}/conf/env.sh ]] && . {{ mapr_home }}/conf/env.sh

Node Requirements

Nodes that you want to include in the cluster must meet the following criteria:

  • The nodes are expressed as fully-qualified domain names (FQDNs), as described in Connectivity. Do not specify hostnames as aliases or IP addresses.
  • Nodes are configured to accept operating system and security updates. They must also be patched with the latest security fixes. See your operating-system vendor documentation for details.
  • Nodes meet the requirements listed in Preparing Each Node. The Installer verifies the requirements prior to installation.
    Note: For data disks, Installer versions 1.12.0.0 and later require a minimum disk size that is equal to the physical memory on the node. If a data disk does not meet the minimum disk size requirement, a verification error is generated.
  • Nodes have HTTPS access to the Installer node over port 9443.

If nodes in the cluster use an HTTP proxy server, the nodes must also meet the following requirements:

  • The no_proxy environment variable must be set.

    Nodes in the cluster need to be able to communicate without the use of a proxy. If the https_proxy and http_proxy environment variable is set for nodes in the cluster, you must also set the no_proxy environment variable for the MapR admin user and the root user on each node. Configure the no_proxy environment variable to the IP range of the nodes or to the sub-domain that contains the nodes.

    In addition, you must follow this guideline from the Python documentation: "The no_proxy environment variable can be used to specify hosts which shouldn't be reached via proxy; if set, it should be a comma-separated list of hostname suffixes, optionally with :port appended, for example cern.ch,ncsa.uiuc.edu,some.host:8080."

    For cloud-based clusters (Amazon EC2, Google Compute Engine (GCE), and Microsoft Azure), you must include this entry in the no-proxy configuration:
    169.254.169.254
  • The global proxy for package repositories must be set.

    Installer creates repository files. However, the proxy setting is not configured for each repository. Therefore, configure global proxy settings on each node in the cluster.
    • On CentOS/RedHat, set global proxy settings in /etc/yum.conf.
    • On Ubuntu, set global proxy settings in /etc/apt/apt.conf.

Security Requirements

Before installing or upgrading software using the Installer, make sure that you have reviewed the list of known vulnerabilities in Security Vulnerabilities. If a vulnerability applies to your release, contact your support representative for a fix, and apply the fix immediately, if applicable.

Cloud Requirements

When you run the Installer on nodes in the cloud, you must:

  • Verify that port 9443 is open.

    The Installer requires that this port is available.

  • Ensure that the Installer and service UI URLs should refer to an external URL and not an internal URL.

    For example, when you open the Installer URL, replace any internal hostname or IP address with its associated external address. For Amazon EC2 and Google Compute Engine (GCE) clusters, the Installer automatically translates internal addresses to external addresses.

  • On the Configure Nodes page of the Installer web interface, make sure that you do the following:
    • Define each node using a fully-qualified domain name (FQDN) and internal, resolvable hostnames, as described in Connectivity.
    • For the remote authentication, use the same user ID and private key that you use to ssh into your cloud instances. This user must be root or a user with sudo permissions.