For the complete documentation index, see llms.txt. This page is also available as Markdown.

Deployment

MariaDB Exa deployment options and the production install order: configure MariaDB Server, install Exasol (local storage or AWS S3), then connect MariaDB MaxScale with CDC.

In production, MariaDB Exa is deployed as a Massively Parallel Processing (MPP) cluster of nodes.

  • Optional standby nodes for high availability.

Data is automatically distributed across nodes, using MariaDB Exa internal partitioning and replication for fault tolerance.

Production Install

A complete MariaDB Exa deployment has three parts. Install and configure them in the following order.

  1. Install and configure Exasol — local storage (single node) or AWS S3 (clustered)

1. Install and configure MariaDB Server

MariaDB Server is the transactional front end for the deployment. Install it and apply your baseline configuration first.

2. Install and configure Exasol

MariaDB Exa supports two deployment modes. Choose the one that fits your environment, then follow the steps below — the procedure is the same except where a step shows separate Local storage and AWS S3 tabs.

  • Local storage (single node) — the simplest install, using local disk on a single host. Suitable for development, evaluation, and smaller workloads.

  • AWS S3 (clustered) — a multi-node cluster on AWS, deployed through CloudFormation with S3-backed storage and high availability (five nodes by default: four active plus one standby). Although written for AWS, the same C4 workflow applies to other clouds or on-premises by changing the arguments in .ccc/config.

MariaDB Exa is powered by Exasol, and both modes use Exasol's C4 deployment tool. For upstream reference, see Exasol's on-premise installation guide, AWS deployment guide, and c4 parameter reference.

Prerequisites:

  • Ubuntu 22.04+ or RHEL 8+. Other Linux distributions might work, but are not tested or guaranteed.

  • A static public IP address. Without one, the deployment will not work after a restart.

  • Open ports: 8563 (default database port) and 8443 (admin UI).

1

Prepare the jump host

The jump host runs the C4 installer and operates the cluster. For local storage, this can be the MaxScale machine; for AWS, launch a dedicated EC2 instance in the same VPC and subnet as Exasol.

SSH to the machine:

Update and install the required packages:

2

Set up node access

On your jump host, create an SSH key pair and add the public key to the target instance where you will install Exasol.

Add the public key to authorized_keys:

Check the permissions:

Check that SSH works from the jump host to the Exasol node:

Confirm that port 20002 is open. You may also need to add the SSH public key to the target's root authorized_keys.

3

Download the Exasol C4 installer

The latest installer is also available from the Exasol Deployment Tool (c4) download page.

4

Create the C4 configuration

Paste the configuration for your deployment mode:

You must update the following values:

  1. CCC_HOST_ADDRS — your private IP address (a static public address is required):

  2. CCC_HOST_EXTERNAL_ADDRS — your public IP address:

  3. CCC_HOST_DATADISK — find the data disk with:

  4. CCC_HOST_IMAGE_USER — usually ubuntu or another default user that exists on both the jump host and the Exasol node:

5

Validate the environment

6

Deploy the Exasol cluster

View the logs on the target machine:

7

Check the deployment stages

View the status from the jump host (for AWS, you can also monitor progress in AWS CloudFormation):

Stage
Meaning

a

Infrastructure resources are being allocated; nothing is reachable yet

b

The host is booting and running startup scripts

c

The cluster operating system (COS) service is running and reachable

d

The database is running and reachable

Wait until the deployment is complete. If you encounter errors that you cannot triage yourself, contact support.

8

Configure Exasol

On the target machine, use CCC_PLAY_DB_PASSWORD from .ccc/config (on the jump host) to check the connection to Exasol.

To retrieve the password from the jump host: cat .ccc/config | grep -i PLAY_DB

Set SQL_IDENTIFIER_COMPARISON to be case insensitive:

Import the MariaDB helper functions / UDF from mariadb-compat.sql:

9

Upload the Exasol license

Each customer has their own license file.

Copy the license file:

Get CLUSTER_ID from the play_id column of ./c4 ps, then upload the license:

Verify:

10

Access the admin UI

Open the following in a browser:

Use these credentials:

  • Username: admin

  • Password: the admin password you set (CCC_PLAY_ADMIN_PASSWORD for local storage, CCC_ADMINUI_ADMIN_PASSWORD for AWS S3).

11

Manage the cluster

Common C4 commands for day-to-day operation:

Stop and start the database:

The database name comes from CCC_PLAY_DATABASE_NAME.

AWS best practices: deploy the jump host in the same VPC as Exasol and treat it as an admin bastion only (no workloads); use S3-backed storage for long-term data and snapshots; and keep at least one reserve node for high availability.

3. Install and configure MariaDB MaxScale with CDC

MariaDB MaxScale uses the ExasolRouter to stream changes from MariaDB Server into Exasol via Change Data Capture (CDC).

This page is: Copyright © 2025 MariaDB. All rights reserved.

spinner

Last updated

Was this helpful?