MariaDB Enterprise ColumnStore Removing a Node
This page is part of MariaDB's Documentation.
The parent of this page is: Node Maintenance for MariaDB Enterprise ColumnStore
Topics on this page:
Overview
To remove a node from Enterprise ColumnStore, perform the following procedure.
Unlink from Service in MaxScale
The server object for the node must be unlinked from the service using MaxScale's REST API:
Unlink the server object from the service using the unlink service command
As the first argument, provide the name of the service
As the second argument, provide the name of the server
$ maxctrl unlink service \
mcs_service \
mcs3
Check the Service in MaxScale
To confirm that the server object was properly unlinked from the service, the service should be checked using MaxScale's REST API:
Show the services using the show services command
For example:
$ maxctrl show services
Unlink from Monitor in MaxScale
The server object for the node must be unlinked from the monitor using MaxScale's REST API:
Unlink a server object from the monitor using the unlink monitor command
As the first argument, provide the name of the monitor
As the second argument, provide the name of the server
$ maxctrl unlink monitor \
mcs_monitor \
mcs3
Check the Monitor in MaxScale
To confirm that the server object was properly unlinked from the monitor, the monitor should be checked using MaxScale's REST API:
Show the monitors using the show monitors command
For example:
$ maxctrl show monitors
Remove the Server from MaxScale
The server object for the node must also be removed from MaxScale using MaxScale's REST API:
Use MaxCtrl or another supported REST client
Remove the server object using the destroy server command
As the first argument, provide the name for the server
For example:
$ maxctrl destroy server \
mcs3
Check the Server in MaxScale
To confirm that the server object was properly removed, the server objects should be checked using MaxScale's REST API:
Show the server objects using the show servers command
For example:
$ maxctrl show servers
Stop the Enterprise ColumnStore Services
The Enterprise Server. Enterprise ColumnStore, and CMAPI services can be stopped using the systemctl
command.
Perform the following procedure on the node:
Stop the MariaDB Enterprise Server service:
$ sudo systemctl stop mariadb
Stop the MariaDB Enterprise ColumnStore service:
$ sudo systemctl stop mariadb-columnstore
Stop the CMAPI service:
$ sudo systemctl stop mariadb-columnstore-cmapi
Remove the Node from Enterprise ColumnStore
The node must be removed from Enterprise ColumnStore using CMAPI:
Remove the node using the remove-node endpoint path
Use a supported REST client, such as
curl
Format the JSON output using
jq
for enhanced readabilityAuthenticate using the configured API key
Include the required headers
For example, if the primary node's host name is mcs1
and the IP address for the node to remove is 192.0.2.3
:
In ES 10.5.10-7 and later:
$ curl -k -s -X DELETE https://mcs1:8640/cmapi/0.4.0/cluster/node \ --header 'Content-Type:application/json' \ --header 'x-api-key:93816fa66cc2d8c224e62275bd4f248234dd4947b68d4af2b29671dd7d5532dd' \ --data '{"timeout":20, "node": "192.0.2.3"}' \ | jq .
In ES 10.5.9-6 and earlier:
$ curl -k -s -X PUT https://mcs1:8640/cmapi/0.4.0/cluster/remove-node \ --header 'Content-Type:application/json' \ --header 'x-api-key:93816fa66cc2d8c224e62275bd4f248234dd4947b68d4af2b29671dd7d5532dd' \ --data '{"timeout":20, "node": "192.0.2.3"}' \ | jq .
Example output:
{
"timestamp": "2020-10-28 00:39:14.672142",
"node_id": "192.0.2.3"
}
Check Enterprise ColumnStore Status
To confirm that the node was properly removed, the status of Enterprise ColumnStore should be checked using CMAPI:
Check the status using the status endpoint path
For example, if the primary node's host name is mcs1
:
$ curl -k -s https://mcs1:8640/cmapi/0.4.0/cluster/status \
--header 'Content-Type:application/json' \
--header 'x-api-key:93816fa66cc2d8c224e62275bd4f248234dd4947b68d4af2b29671dd7d5532dd' \
| jq .
Example output:
{
"timestamp": "2020-12-15 00:40:34.353574",
"192.0.2.1": {
"timestamp": "2020-12-15 00:40:34.362374",
"uptime": 11467,
"dbrm_mode": "master",
"cluster_mode": "readwrite",
"dbroots": [
"1"
],
"module_id": 1,
"services": [
{
"name": "workernode",
"pid": 19202
},
{
"name": "controllernode",
"pid": 19232
},
{
"name": "PrimProc",
"pid": 19254
},
{
"name": "ExeMgr",
"pid": 19292
},
{
"name": "WriteEngine",
"pid": 19316
},
{
"name": "DMLProc",
"pid": 19332
},
{
"name": "DDLProc",
"pid": 19366
}
]
},
"192.0.2.2": {
"timestamp": "2020-12-15 00:40:34.428554",
"uptime": 11437,
"dbrm_mode": "slave",
"cluster_mode": "readonly",
"dbroots": [
"2"
],
"module_id": 2,
"services": [
{
"name": "workernode",
"pid": 17789
},
{
"name": "PrimProc",
"pid": 17813
},
{
"name": "ExeMgr",
"pid": 17854
},
{
"name": "WriteEngine",
"pid": 17877
}
]
},
"num_nodes": 2
}