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.
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) and8443(admin UI).
An AWS key pair with permissions for CloudFormation, S3 buckets, EC2 instances, security groups, and subnets.
Open ports:
8563(default database port) and8443(admin UI).
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:
In the AWS console, go to EC2 → AMIs, search the community images for an Ubuntu AMI (for example ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-20250821), and launch an EC2 instance as the jump host in the same VPC and subnet where Exasol will be deployed. Then SSH to it:
You do not have to use this image, but it comes preloaded with some of the required packages.
Update and install the required packages:
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.
Install and configure the AWS CLI, then verify access:
Copy your EC2 key pair to the jump host and secure it:
Download the Exasol C4 installer
Run the C4 installer as a non-root user. Installing as root is known to cause path-related failures; rootless installs have proven reliable in practice (as of February 2026). Exasol's older docs still describe a root-based default, but their newer versions assume non-root — see Exasol's rootless deployment guide.
The latest installer is also available from the Exasol Deployment Tool (c4) download page.
Create the C4 configuration
Paste the configuration for your deployment mode:
You must update the following values:
CCC_HOST_ADDRS— your private IP address (a static public address is required):CCC_HOST_EXTERNAL_ADDRS— your public IP address:CCC_HOST_DATADISK— find the data disk with:CCC_HOST_IMAGE_USER— usuallyubuntuor another default user that exists on both the jump host and the Exasol node:
Update CCC_AWS_REGION, CCC_AWS_KEY_PAIR, CCC_AWS_KEY_PAIR_FILE, and CCC_AWS_INSTANCE_TYPE for your AWS account. Use an analytics-oriented instance family such as r6i, i4i, or r7i.
Set strong, unique values for the password parameters and keep them secret. Do not commit real credentials to source control or share them in documentation.
Deploy the Exasol cluster
View the logs on the target machine:
-N 5— five nodes total. WithCCC_PLAY_RESERVE_NODES=1, this gives four active nodes plus one standby.For a single node, set
CCC_PLAY_RESERVE_NODES=0and use-N 1.For instance types that exist only in certain availability zones, add the applicable zone to the command:
Check the deployment stages
View the status from the jump host (for AWS, you can also monitor progress in AWS CloudFormation):
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.
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:
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.
Show database info:
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.
Last updated
Was this helpful?

