67 lines
2.0 KiB
Markdown
67 lines
2.0 KiB
Markdown
# ColumnStore Monitor
|
|
|
|
The ColumnStore monitor, `csmon`, is a monitor module for MariaDB ColumnStore
|
|
servers. It supports multiple UM nodes and can detect the correct server for
|
|
DML/DDL statements which will be labeled as the master. Other UM nodes will be
|
|
used for reads.
|
|
|
|
## Required Grants
|
|
|
|
The credentials defined with the `user` and `password` parameters must have all
|
|
grants on the `infinidb_vtable` database.
|
|
|
|
For example, to create a user for this monitor with the required grants execute
|
|
the following SQL.
|
|
|
|
```
|
|
CREATE USER 'maxuser'@'%' IDENTIFIED BY 'maxpwd';
|
|
GRANT ALL ON infinidb_vtable.* TO 'maxuser'@'%';
|
|
```
|
|
|
|
## Master Selection
|
|
|
|
The automatic master detection only works with ColumnStore 1.1.7 (planned
|
|
version at the time of writing). Older versions of ColumnStore do not implement
|
|
the required functionality to automatically detect which of the servers is the
|
|
primary UM.
|
|
|
|
With older versions the `primary` parameter must be defined to tell the monitor
|
|
which of the servers is the primary UM node. This guarantees that DDL statements
|
|
are only executed on the primary UM.
|
|
|
|
## Configuration
|
|
|
|
Read the [Monitor Common](Monitor-Common.md) document for a list of supported
|
|
common monitor parameters.
|
|
|
|
### `primary`
|
|
|
|
The `primary` parameter controls which server is chosen as the master
|
|
server. This is an optional parameter.
|
|
|
|
If the server pointed to by this parameter is available and is ready to process
|
|
queries, it receives the _Master_ status. If the parameter is not defined and
|
|
the ColumnStore server does not support the `mcsSystemPrimary` function, no
|
|
master server is chosen.
|
|
|
|
Note that this parameter is only used when the server does not implement the
|
|
required functionality. Otherwise the parameter is ignored as the information
|
|
from ColumnStore itself is more reliable.
|
|
|
|
## Example
|
|
|
|
The following is an example of a `csmon` configuration.
|
|
|
|
```
|
|
[CS-Monitor]
|
|
type=monitor
|
|
module=csmon
|
|
servers=um1,um2,um3
|
|
user=myuser
|
|
passwd=mypwd
|
|
monitor_interval=5000
|
|
primary=um1
|
|
```
|
|
|
|
It defines a set of three UMs and defines the UM `um1` as the primary UM.
|