System Requirements

To deploy NuoDB in a production environment, you must deploy on one of the following supported Linux platforms. To develop or test/evaluate NuoDB, you can use any of the following platforms:

Platform Requirements Support Level

Linux (x64)

Red Hat Enterprise Linux (RHEL) 8.x

Rocky Linux 8.x, where x ≥ 9

Production

Linux (ARM64)

Red Hat Enterprise Linux (RHEL) 8.x

Rocky Linux 8.x, where x ≥ 9

Production

Windows (x64)

Windows 10

Development / Test

Software Requirements

Hosts that run NuoDB must install the following services:

Java

NuoDB requires that either the Java Runtime Environment (JRE) or Java Development Kit (JDK) be installed. The following Java versions are supported:

  • Java 11

  • Java 17

  • Java 21

Only 64-bit JRE and JDK are supported.

Java Stored Procedures and Java User Defined Functions are not supported with Java 21.

Python

The NuoDB Command (nuocmd) interface requires Python 3.8 or later.

Red Hat Enterprise Linux (RHEL) Prerequisites

RHEL systems require the tzdata-java package that contains time zone data for Java applications. To install the tzdata-java RPM, follow the installation instructions for your OS. For example, if using the yum package installer, run:

yum install tzdata-java

To verify that tzdata-java has been successfully installed, use the rpm command:

rpm -q tzdata-java

This command should display the version of tzdata-java.

TLS Requirements

Domain and database management in NuoDB deployments is handled by NuoDB Admin. NuoDB Admin supports TLS encryption for all processes in the domain.

To use NuoDB Admin with TLS encryption, TLS must be enabled. For more information, see Enabling TLS Encryption.

To use NuoDB Admin without TLS encryption, see Managing TLS Security.

LDAP Requirements

LDAP requirements on Red Hat / CentOS Linux is as follows:

sudo yum install openldap-clients

On Windows, there are no additional requirements.

Networking

NuoDB supports TCP over either IPv4 or IPv6.

Hardware Requirements

CPU

  • x86_64 or ARMv8.2-A CPU

  • On Linux x86_64, NuoDB supports Intel Haswell or later processors. To check if the processor is supported, run:

    grep avx2 /proc/cpuinfo | sort -u

    If the command returns text output, then the processor type is supported.

Memory

  • Each Transaction Engine (TE) and Storage Manager (SM) should have a mem setting of at least 4G

  • Each TE should have the same mem setting

  • Each SM should have a mem setting that is equal to or greater than the mem setting of a TE

File system Recommendations

For Linux, it is highly recommended that your file system support fallocate(). The fallocate() system call is supported by the following:

  • XFS (since Linux kernel 2.6.38)

  • ext4 (since Linux kernel 3.0)

  • ZFS ((since ZFS on Linux kernel 0.6.4)

  • Btrfs (since Linux kernel 3.7)

  • tmpfs (since Linux kernel 3.5)

  • Network File System (NFS) storage is not supported for archive and journal locations.

  • The ext2 and ext3 file systems are not supported.

VMware VMOTION Considerations

If you are using VMotion to migrate NuoDB virtual machines between servers, NuoDB strongly recommends that you stop any running NuoDB process(es) within the virtual machine prior to migration, and restart the NuoDB process(es) after the migration. This is because VMotion can cause running NuoDB process(es) to stop unexpectedly. If VMotion is used while NuoDB processes are still running, you must check the status of the NuoDB processes after migration then manually restart any stopped processes when migration is complete.