Installing and Configuring a ColumnStore System using the Amazon AMI

You are viewing an old version of this article. View the current version here.

There is a MariaDB ColumnStore AMI that is based off of a CentOS 7 Amazon Instance that has the MariaDB ColumnStore 1.0.5 pre-installed. This can be used to run the MariaDB Columnstore in the Amazon EC2 Cloud Environment. It can be used to setup both a Single Node and a Multi-Node Install. And it supports using both local storage and EBS storage's.

You will need to have an AWS account setup to access and use the MariaDB ColumnStore AMI, plus some basic knowledge of accessing and launching AMI's and Instances.

The MariaDB ColumnStore AMI has installed on it the Amazon API Tool packages which allows the ColumnStore processes the ability to create EC2 instances and EBS storages. This also allows the functionality of being able to support the Instance Failure feature, meaning if a EC2 Performance Module instance goes offline, any EB2 storage on that instance would be re-attached to other instance so you would still have system functionality after a brief downtime during the outage discovery and failover action is completed. Also if an Instance Terminates, Columnstore will automatically create a new instance in its places.

These are the support configuration options: 1. Single-Node install with or with EBS Storages 2. Multi-Node Install with or with EBS Storages a. Setup with User Module and Performance Module functionality on the same Instance(s) b. Setup with User Module and Performance Module functionality on different Instance(s) c. ColumnStore install script (postConfigure) can create the additional Instances and EBS storage's that are used in the system. d. ColumnStore install script (postConfigure) supports using EC2 instances and/or EBS storage that the user has created.

The following sections document the Amazon environment setup and steps needed for the AMI installation.

AWS Security - Access and Secret Keys

If you are doing a Multi-Node install and you want the ColumnStore processes to utilize the Amazon API Tool, you will need these 2 keys and have them in 2 files, which will be installed on the AMI Instance. These keys aren't required for a single-node install.


Cut-and-Paste those 2 keys into files, example:

  • access-key.pem
  • secret-key.pem

AWS Management Console page

1. Create and download a Key-Pair, this is used to log into the AMI Instance 2. Create a VPC Security Group with the following Inbound Rules:

  • SSH - Source = Your Public IP address
  • SSH - AMI subnet
  • All ICMP
  • Custom TCP rule - port range 8600-8800, subnet
  • MYSQL TCP (port 3306) - subnet
  • MYSQL TCP (port 3306) - Any other Public IP where you what to access the console 3. Select and Launch the MariaDB ColumnStore AMI:
  • We recommend using a minimum Instance type of "m4.2xlarge" type to get optimal performance.
  • Number of Instances = 1
  • Storage size = default is 100 gb, can be increased if using local storage
  • Value = Name of Instance, which is systemName-pm1. I.E. columnstore-1-pm1
  • Security Group = Select the one that was setup for Columnstore
  • Select you Key Pair name and Launch Instance

4. Once the Instance has been Launch, use the 'connect' button to log into the Instance. Make sure you change the 'username' to 'mariadb', like so:

<code> ssh -i "key.pem" </code>

Access to Launched AMI Instance

You will be logged into the instance as user 'mariadb'. Follow the instructions from the README file to continue to setup and install MariaDB Columnstore, which will be done as root user.

  • This will consist of scp'ing the access file and a secret key file onto the instance, if you plan to do a multi-node install.
  • The install will be done as root user using the default root password that is noted in the /root/README file. But it is recommended after the system is installed, that you setup and use ssh-keys between all of the nodes and disable root user login access.

Setup and Install MariaDB ColumnStore

The Instance that was launched is ColumnStore Performance Module #1. This is the primary "pm" where the install process will always start. The install and configuration script, postConfigure is run to initiate the install process.

If you are installing as a Single-Node system, you can follow install instructions on how to run postConfigure in the follow document for root user:


If you are installing as a Mulit-Node system, use the following example of postConfigure This example shows setting up a system where postConfigure will create the additional Instances and EBS storage required.

[code] /usr/local/mariadb/columnstore/bin/postConfigure [/code]

The following is a transcript of a typical run of the MariaDB ColumnStore configuration script. Plain-text formatting indicates output from the script and bold text indicates responses to questions. After each question there is a short discussion of what the question is asking and what some typical answers might be. You will not see these discussions the running the actual configuration script.

Common Installation Examples During postConfigure, there are 2 questions that are asked where the answer given determines the path that postConfigure takes in configuring the system. Those 2 questions are as follows:

Select the type of server install [1=single, 2=multi] (2) >


Select the Type of Module Install being performed:
1. Separate - User and Performance functionalities on separate servers
2. Combined - User and Performance functionalities on the same server
Enter Server Type ID [1-2] (1) >

The following examples illustrates some common configurations and helps to provide answers to the above questions:

  • Single Node - User and Performance running on 1 server - single / combined
  • Mutli-Node #1 - User and Performance running on some server - multi / combined
  • Mutli-Node #2 - User and Performance running on separate servers - multi / separate

Running postConfigure as root user:



MariaDB Columnstore Memory Configuration

During the installation process, postConfigure will set the 2 main Memory configuration settings based on the size of memory detected on the local node.

The 2 settings are in the MariaDB Columnstore Configuration file, /usr/local/mariadb/columnstore/etc Columnstore.xml. These 2 settings are:

'NumBlocksPct'   - Performance Module Data cache memory setting

TotalUmMemory  - User Module memory setting, used as temporary memory for joins

On a system that has the Performance Module and User Module functionality combined on the same server, this is the default settings:

NumBlocksPct    - 50% of total memory

TotalUmMemory - 25% of total memory, default maximum the percentage equal to 16G

On a system that has the Performance Module and User Module functionality on different servers, this is the default settings:

NumBlocksPct    - This setting is NOT configured, and the default that the applications will then use is 70%

TotalUmMemory - 50% of total memory 

The user can choose to change these settings after the install is completed, if for instance they want to setup more memory for Joins to utilize. On a single server or combined UM/PM server, it is recommended to not have the combination of these 2 settings over 75% of total memory


Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.