Rootless Installation
This article describes additional configuration steps when Exasol is installed with a non-root user.
The default method of installation for an on-premises deployment of Exasol requires that the installation user on the host systems has root privileges. You can also install Exasol with a non-root user, which is known as a rootless installation. Rootless installation will be the default installation method in future versions of Exasol.
A rootless installation requires that you carry out additional system configuration steps (as root) on each host before you start the installation. A script that automatically applies most of these steps is embedded in c4 and can be run with a single command. This section describes how to use this script as well as all additional manual steps required to prepare the hosts for a rootless installation.
Before you continue, refer to the installation procedure in Install Exasol - step by step and carry out the necessary preparatory steps described there. This section only describes the additional steps required for a rootless installation, it does not describe the full installation procedure.
Prerequisites
In addition to the general system requirements for an on-prem installation of Exasol 8, a rootless installation requires that the newuidmap
and newgidmap
tools are installed on the hosts.
-
In Ubuntu 20.04 LTS and 22.04 LTS, these tools are provided by the
uidmap
package. To install them, runapt install uidmap
. -
In Red Hat Enterprise Linux 8/9, these tools are preinstalled.
Host preparation
To prepare the hosts for rootless installation, use the following c4 command to run the preplay
script on each host.
The script must be run on each database host (node).
The script must be run with sudo or as root. If you are logged in as root, exclude sudo from the command.
Replace EXASOL_USER
with the username of the Exasol user.
The preplay script does the following:
-
Enables unprivileged user namespaces (if disabled). This is needed to create the namespaces for the COS (Exasol cluster operating system) container.
-
Increases resource limits for the Exasol user. This includes limits for the number of open files, the number of processes, the stack size, and the amount of locked memory.
-
Disables transparent huge pages to prevent problems with sparse mappings in DB memory.
-
Applies a number of
sysctl
settings to improve performance and stability. For more information, see the script.
To view the contents of the script without executing it, use the following command:
Additional steps
Add disk write permissions
The disk device files that are configured as database storage drives must be read-writable by the primary user ID or the group ID of the Exasol user. For information on how to set write permissions on disk devices, refer to the documentation for your installation platform.
Because of a technical limitation, you currently cannot achieve this simply by adding the user to a disks
group. This limitation may be removed in future versions.
Configure huge pages
To achieve the expected database performance and stability,the amount of memory that should be reserved for huge pages must be manually configured in /proc/sys/vm/nr_hugepages
on each host based on database parameters. The value can be calculated using this formula:
(DBRAM / number of nodes) - maxSystemHeapMemory
Default maxSystemHeapMemory
= 32 GiB.
Note that the value in nr_hugepages
is the number of pages, not the memory amount. Each huge page is typically 2 MiB, although this can vary depending on the system configuration. For more information, refer to the documentation for your installation platform.
Add configuration parameter
Add the following parameter to the c4 configuration file:
Alternatively, you can add this parameter to the c4 host play
command when you start the installation:
Installation
When the steps above are completed, continue with the installation as described in Install Exasol - step by step.