Upgrade a Multi-Node MariaDB Enterprise ColumnStore Deployment from 1.4.X to 1.4.Y with MariaDB Enterprise Server 10.4 on Debian 8

These instructions detail a minor release upgrade with MariaDB Enterprise ColumnStore 1.4 with MariaDB Enterprise Server 10.4 on Debian 8 in a Multi-node ColumnStore Deployment configuration.

A minor release upgrade is a change from an earlier release of MariaDB Enterprise Server 10.4 with MariaDB ColumnStore 1.4 to a later release in the same release series.

For example, it would be a minor release upgrade to upgrade from MariaDB Enterprise ColumnStore 1.4.3 with MariaDB Enterprise Server 10.4.12-6 to MariaDB Enterprise ColumnStore 1.4.4 with MariaDB Enterprise Server 10.4.13-7.

Data Backup

Occasionally, issues can be encountered during upgrades. These issues can even potentially corrupt the database's data files, preventing you from easily reverting to the old installation. It is generally best to perform a backup prior to upgrading. If an issue is encountered during the upgrade, you can use the backup to restore your MariaDB ColumnStore database to the old version. If the upgrade finishes without issue, the backup can be deleted.

Run columnstoreBackup for each Performance Module:

$ columnstoreBackup -zv 192.0.2.1 /data/backups/pm1

Confirm the successful completion of the backup operation.

Backups should be tested before they are trusted.

Additional information on columnstoreBackup is available on the MariaDB Knowledge Base.

Shutdown ColumnStore

Before MariaDB ColumnStore can be upgraded, stop the current MariaDB ColumnStore processes.

To stop MariaDB ColumnStore, use mcsadmin shutdownSystem:

$ sudo mcsadmin shutdownSystem y

Update

MariaDB Corporation provides a APT package repository for Debian 8.

MariaDB Enterprise Server 10.4 does not require additional software to operate as an analytics database with MariaDB ColumnStore.

Update via APT (Debian/Ubuntu)

  1. Retrieve your Customer Download Token at https://customers.mariadb.com/downloads/token/ and substitute for customer_download_token in the following directions.

  2. Configure the APT package repository.

    To configure APT package repositories:

    $ sudo apt install wget
    
    $ wget https://dlm.mariadb.com/enterprise-release-helpers/mariadb_es_repo_setup
    
    $ echo "957bc29576e8fd320fa18e35fa49b5733f3c8eeb4ca06792fb1f05e089c810ff  mariadb_es_repo_setup" \
        | sha256sum -c -
    
    $ chmod +x mariadb_es_repo_setup
    
    $ sudo ./mariadb_es_repo_setup --token="customer_download_token" --apply \
       --mariadb-server-version="10.4"
    
    $ sudo apt update
    
  3. Update MariaDB ColumnStore and package dependencies:

    $ sudo apt install --only-upgrade "mariadb-*"
    

Post Update

Updating the MariaDB Enterprise Server and MariaDB ColumnStore packages provides you with necessary packages to run the Server as a ColumnStore Instance, but only configures the Server as a Server. A few additional steps are needed to configure the MariaDB ColumnStore storage back-end.

Post-Configuration Script

MariaDB ColumnStore provides a post-configuration script to configure the ColumnStore Instance. Post-configuration is only required on the first Server in your deployment (called pm1 by convention). The postConfigure script connects over SSH to initialize Performance Modules on the other Servers.

Run the postConfigure script on the Server hosting the initial Performance Module (that is, pm1):

$ sudo /usr/bin/postConfigure -u

The postConfigure script upgrades the system to be used with the new version when the -u option is provided.

Once postConfigure has the information it needs, it connects to each Server and sets up the Performance Module to match the configuration, then starts MariaDB ColumnStore.

Restart the System

When the postConfigure script is complete, use mcsadmin restartSystem to restart MariaDB ColumnStore to clear the cache:

$ sudo mcsadmin restartSystem y

Upgrade the Data Directory

When the Server is running with MariaDB ColumnStore, run mariadb-upgrade to update the data directory:

$ sudo mariadb-upgrade

Administration

MariaDB ColumnStore includes an administrative utility called mcsadmin, which you can use to start and stop the ColumnStore processes:

Operation

Command

Start

mcsadmin startSystem

Stop

mcsadmin shutdownSystem

Restart

mcsadmin restartSystem

Status

mcsadmin getSystemStatus

Testing

When you have MariaDB ColumnStore up and running, you should test it to ensure that it is in working order and that there were not any issues during startup.

Checking Server Status

  1. Connect to the server using MariaDB Client using the root@localhost user account:

    $ sudo mariadb
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 38
    Server version: 10.4.13-7-MariaDB-Enterprise MariaDB Enterprise Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]>
    

Checking System Status

  1. Execute the mcsadmin getSystemStatus command:

    $ sudo mcsadmin getSystemStatus
    getsystemstatus   Wed Jan  8 23:44:55 2020
    
    System columnstore-1
    
    System and Module statuses
    
    Component     Status                       Last Status Change
    ------------  --------------------------   ------------------------
    System        ACTIVE                       Wed Jan  8 23:14:14 2020
    
    Module pm1    ACTIVE                       Wed Jan  8 23:14:11 2020
    
    Module pm2    ACTIVE                       Wed Jan  8 23:14:11 2020