Upgrade Multi-Node MariaDB Enterprise ColumnStore from 5.5.2 to 5.6.1
This page is part of MariaDB's Documentation.
The parent of this page is: Upgrades for Multi-Node MariaDB Enterprise ColumnStore
Topics on this page:
Overview
These instructions detail the upgrade from MariaDB Enterprise ColumnStore 5.5.2 to MariaDB Enterprise ColumnStore 5.6.1 in a Multi-Node topology on a range of supported Operating Systems.
Set Replicas to Maintenance Mode
This action is performed for each replica server on the MaxScale node.
Prior to upgrading, the replica servers must be set to maintenance mode in MaxScale. The replicas can be set to maintenance mode in MaxScale using MaxScale's REST API. If you are using MaxCtrl, the replicas can be set to maintenance mode using the set server command:
$ maxctrl set server \
mcs2 \
maintenance
As the first argument, provide the name for the server
As the second argument, provide
maintenance
as the state
Confirm Maintenance Mode is Set for Replicas
This action is performed on the MaxScale node.
Confirm that the replicas are set to maintenance mode in MaxScale using MaxScale's REST API. If you are using MaxCtrl, the state of the replicas can be viewed using the list servers command:
$ maxctrl list servers
┌────────┬───────────────┬──────┬─────────────┬──────────────────────┬────────┐
│ Server │ Address │ Port │ Connections │ State │ GTID │
├────────┼───────────────┼──────┼─────────────┼──────────────────────┼────────┤
│ mcs3 │ 192.0.2.3 │ 3306 │ 0 │ Maintenance, Running │ 0-1-17 │
├────────┼───────────────┼──────┼─────────────┼──────────────────────┼────────┤
│ mcs2 │ 192.0.2.2 │ 3306 │ 0 │ Maintenance, Running │ 0-1-17 │
├────────┼───────────────┼──────┼─────────────┼──────────────────────┼────────┤
│ mcs1 │ 192.0.2.1 │ 3306 │ 0 │ Master, Running │ 0-1-17 │
└────────┴───────────────┴──────┴─────────────┴──────────────────────┴────────┘
If the node is properly in maintenance mode, then the State
column will show Maintenance
as one of the states.
Disable GTID Strict Mode
This action is performed on each replica server.
The gtid_
You can check if the gtid_mysqld
option:
$ my_print_defaults --mysqld \
| grep "gtid[-_]strict[-_]mode"
--gtid_strict_mode=1
If the gtid_#
in front of it in the configuration file, so that it will be treated as a comment and ignored:
[mariadb]
...
# temporarily commented out for upgrade
# gtid_strict_mode=1
Shutdown ColumnStore
This action is performed on the primary server.
Prior to upgrading, MariaDB Enterprise ColumnStore must be shutdown. MariaDB Enterprise ColumnStore can be shutdown using CMAPI with the shutdown endpoint.
If you are calling CMAPI on the primary server from a local shell, the mcsShutdown
alias can be used to call the shutdown endpoint:
$ mcsShutdown
If you are calling CMAPI on the primary server from a remote node, you can call the shutdown endpoint using curl
or another REST client:
$ curl -k -s -X PUT https://mcs1:8640/cmapi/0.4.0/cluster/shutdown \
--header 'Content-Type:application/json' \
--header 'x-api-key:CMAPI_API_KEY' \
--data '{"timeout":60}' \
| jq
Replace
CMAPI_API_KEY
with your CMAPI API key
Stop Services
This action is performed on each ColumnStore node.
Prior to upgrading, several services must be stopped on each ColumnStore node:
Stop the CMAPI service:
$ sudo systemctl stop mariadb-columnstore-cmapi
Stop the MariaDB Enterprise ColumnStore service:
$ sudo systemctl stop mariadb-columnstore
Stop the MariaDB Enterprise Server service:
$ sudo systemctl stop mariadb
Update Packages
This action is performed on each ColumnStore node.
MariaDB Enterprise ColumnStore and its dependencies must be upgraded.
To upgrade on CentOS and RHEL:
$ sudo yum update "MariaDB-*" "mariadb-*"
To upgrade on Debian and Ubuntu:
$ sudo apt update
$ sudo apt install --only-upgrade "mariadb-*"
Disable ColumnStore Service
This action is performed on each ColumnStore node.
After upgrading, the MariaDB Enterprise ColumnStore service should be stopped and disabled, since it will be controlled by CMAPI:
$ sudo systemctl stop mariadb-columnstore
$ sudo systemctl disable mariadb-columnstore
Start Services
This action is performed on each ColumnStore node.
After upgrading, the CMAPI service and the MariaDB Enterprise Server service must be started on each ColumnStore node:
Start the CMAPI service:
$ sudo systemctl start mariadb-columnstore-cmapi
Start the MariaDB Enterprise Server service:
$ sudo systemctl start mariadb
Start ColumnStore
This action is performed on the primary server.
After upgrading, MariaDB Enterprise ColumnStore must be started. MariaDB Enterprise ColumnStore can be started using CMAPI with the start endpoint.
If you are calling CMAPI on the primary server from a local shell, the mcsStart
alias can be used to call the start endpoint:
$ mcsStart
If you are calling CMAPI on the primary server from a remote node, you can call the start endpoint using curl
or another REST client:
$ curl -k -s -X PUT https://mcs1:8640/cmapi/0.4.0/cluster/start \
--header 'Content-Type:application/json' \
--header 'x-api-key:CMAPI_API_KEY' \
--data '{"timeout":60}' \
| jq .
Replace
CMAPI_API_KEY
with your CMAPI API key
Enable GTID Strict Mode
This action is performed on each replica server.
If you temporarily disabled the gtid_
Confirm ColumnStore Version
This action is performed on each ColumnStore node.
After upgrading, it is recommended to confirm the Enterprise ColumnStore version on each ColumnStore node. Connect to the node using MariaDB Client and query the Columnstore_
SHOW GLOBAL STATUS
LIKE 'Columnstore_version';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| Columnstore_version | 5.6.1 |
+---------------------+-------+
Confirm ES Version
This action is performed on each ColumnStore node.
After upgrading, it is recommended to confirm the ES version on each ColumnStore node. Connect to the node using MariaDB Client and query the version system variable with SHOW GLOBAL VARIABLES:
SHOW GLOBAL VARIABLES
LIKE 'version';
+---------------+----------------------------------+
| Variable_name | Value |
+---------------+----------------------------------+
| version | 10.5.10-7-MariaDB-enterprise-log |
+---------------+----------------------------------+
Clear Maintenance Mode for Replicas
This action is performed for each replica server on the MaxScale node.
After the upgrade, maintenance mode for each replica has been cleared in MaxScale using MaxScale's REST API. If you are using MaxCtrl, maintenance mode can be cleared using the clear server command:
$ maxctrl clear server \
mcs2 \
maintenance
As the first argument, provide the name for the server
As the second argument, provide
maintenance
as the state
Confirm Maintenance Mode is Cleared for Replicas
This action is performed for each replica server on the MaxScale node.
Confirm that maintenance mode in MaxScale has been cleared for each replica using MaxScale's REST API. If you are using MaxCtrl, the state of the replicas can be viewed using the list servers command:
$ maxctrl list servers
┌────────┬───────────────┬──────┬─────────────┬─────────────────┬─────────┐
│ Server │ Address │ Port │ Connections │ State │ GTID │
├────────┼───────────────┼──────┼─────────────┼─────────────────┼─────────┤
│ mcs3 │ 192.0.2.3 │ 3306 │ 0 │ Slave, Running │ 0-3-159 │
├────────┼───────────────┼──────┼─────────────┼─────────────────┼─────────┤
│ mcs2 │ 192.0.2.2 │ 3306 │ 0 │ Slave, Running │ 0-1-88 │
├────────┼───────────────┼──────┼─────────────┼─────────────────┼─────────┤
│ mcs1 │ 192.0.2.1 │ 3306 │ 0 │ Master, Running │ 0-1-88 │
└────────┴───────────────┴──────┴─────────────┴─────────────────┴─────────┘
If the node is no longer in maintenance mode, then the State
column will no longer show Maintenance
as one of the states.