Справочник распределенного менеджера AntDB-T
В нашей предыдущей статье мы рассказали вам о конфигурациях системы Linux перед установкой AntDB, включая регистрацию пользователя, установку зависимостей и настройку системных параметров.
В этой статье мы рассмотрим команды, связанные с таблицей узлов.
Таблица узлов используется для хранения информации о каждом узле в развернутом кластере AntDB, включая одинаковые/асинхронные отношения между подчиненными и главными узлами и т. д. Команды для управления таблицей узлов:
- add node (включая ADD GTMCOORD, ADD COORDINATOR, ADD DATANODE)
- alter node (включая ALTER GTMCOORD, ALTER COORDINATOR, ALTER DATANODE)
- remove node (включая DROP GTMCOORD, DROP COORDINATOR, DROP DATANODE)
- drop node (включая DROP GTMCOORD, DROP COORDINATOR, DROP DATANODE)
- list node
Эти пять команд описаны ниже.
add node
Командная функция:
Добавьте информацию об узле в таблицу узлов. Конкретную функцию можно просмотреть с помощью команды справки \h add gtmcoord
, \h add coordinator
и \h add datanode
.
Примечание: И gtmcoord, и datanode могут существовать на нескольких резервных компьютерах, а тип узла — подчиненный. Первый добавленный подчиненный узел по умолчанию является синхронным подчиненным, а последующие потенциально синхронными по умолчанию, и значение поля sync_state является potential
.
Указанный путь хранения данных узла должен быть пустым каталогом, в противном случае выдается сообщение об ошибке при выполнении инициализации.
Формат команды:
ADD COORDINATOR MASTER master_name ( option )
ADD DATANODE MASTER master_name ( option )
ADD DATANODE SLAVE slave_name FOR master_name ( option )
ADD GTMCOORD MASTER master_name ( option )
ADD GTMCOORD SLAVE slave_name FOR master_name ( option )
where option must be the following:
HOST = host_name,
PORT = port_number,
SYNC_STATE = sync_mode,
PATH = pg_data
ZONE = zone_name
READONLY = readonly_type (valid only when adding coordinator)
Parameter Description:
node_name:Node name, corresponding to the name column of the node table.
host_name:The hostname, corresponding to the hostname in the host table.
port_number:The port number that the node listens on
Sync_mode:The synchronous/asynchronous relationship between the standby and the host, "on", "t", "true" all mean synchronous setting, "off", "f", "false" all mean asynchronous setting.
pg_data:Node data path, you need to ensure that the directory is empty.
zone_name:The name of the center to which the node belongs, the default is local, used in dual-center scenarios.
readonly_type:Whether or not the coordinator is a read-only node
Примечание: узлы datanode и gtmcoord поддерживают каскадирование, т. е. подчиненный узел может висеть под подчиненным узлом, поэтому за for может следовать имя подчиненного узла.
Пример команды:
-- Add a gtmcoord master node, host is localhost1, port is 6768, data path is "/home/antdb/data/gc":
ADD GTMCOORD MASTER gc (HOST=localhost1, PORT=6768, PATH='/home/antdb/data/gc');
-- Add a gtmcoord slave node with host localhost2, port 6768 and data path "/home/antdb/data/gc":
ADD GTMCOORD SLAVE gcs for gc (HOST=localhost2, PORT=6768, SYNC=t, PATH='/home/antdb/data/gc');
-- Add information about coord1 of coordinator node, host is localhost1, port is 5532, data path "/home/antdb/data/coord1":
ADD COORDINATOR master coord1(HOST=localhost1, PORT=5532,PATH='/home/antdb/data/coord1');
-- Add db1 of datanode master node, host is localhost1, port is 15533, data path is "/home/antdb/data/db1":
ADD DATANODE MASTER db1(HOST=localhost1, PORT=15533,PATH='/home/antdb/data/db1');
-- Add db1 of datanode slave node with host localhost2, port 15533 and data path "/home/antdb/data/db1":
ADD DATANODE SLAVE db1s for db1(HOST=localhost1, PORT=15533, SYNC=t, PATH= '/home/antdb/data/db1');
-- Add cascade slave db11s of db1s of datanode slave node
ADD DATANODE SLAVE db11s for db1s(HOST=localhost1, PORT=15543, SYNC=t, PATH= '/home/antdb/data/db11');
alter node
Командная функция:
Измените информацию об узле в таблице узлов. Конкретную функцию можно просмотреть с помощью команды справки \h alter gtmcoord
, \h alter coordinator
и \h alter datanode
.
Примечание: Перед инициализацией кластера вы можете обновить информацию об узле, изменив узел; после инициализации кластера только резервному подчиненному устройству разрешено обновлять столбец sync_state с помощью асинхронного отношения.
Формат команды:
ALTER GTMCOORD { MASTER | SLAVE } node_name ( option )
ALTER COORDINATOR MASTER node_name ( option )
ALTER DATANODE { MASTER | SLAVE } node_name ( option )
where option can be one of:
HOST =host_name,
PORT = port_number,
SYNC_STATE = sync_mode,
PATH = pg_data
ZONE = zone_name
Parameter Description:
node_name:Node name, corresponding to the name column of the node table.
host_name:The hostname, corresponding to the hostname in the host table.
port_number: The port number that the node listens on.
Sync_mode:The synchronous/asynchronous relationship between slave node and master node. Only valid for slave nodes. The value "sync" means that the slave node is a synchronous slave, "potential" means that the slave node is a potentially synchronous node, and "async" means that the slave node async" means the slave is an asynchronous slave.
pg_data:node data path, you need to ensure that the directory is empty.
zone_name:The name of the center to which the node belongs, the default is local, used in dual-center scenarios.
Пример команды:
-- Before cluster initialization, update the port number of gtmcoord master to 6666:
ALTER GTMCOORD MASTER gtmcoord (PORT=6666);
-- Update the gtmcoord slave to be in a synchronous relationship with the gtmcoord master:
ALTER GTMCOORD SLAVE gcs (SYNC_STATE='sync');
-- Update gtmcoord extra to have an asynchronous relationship with gtmcoord master:
ALTER GTMCOORD SLAVE gtms (SYNC_STATE='async');
-- Before cluster initialization, update the port of coordinator coord1 to 5532 and the data path is”/home/antdb/data/coord1”:
ALTER COORDINATOR master coord1 (PORT=5532, PATH=’/home/antdb/data/coord1’);
-- Before cluster initialization, update the host of datanode master db1 to localhost5, the data path is ”/home/antdb/data/db1”:
ALTER DATANODE MASTER db1 (HOST=localhost5, PATH=’/home/antdb/data/coord1’);
-- Update datanode slave db1 to be in a synchronous relationship with host datanode master:
ALTER DATANODE SLAVE db1s (SYNC_STATE='sync');
-- Update datanode extra db1 to have an asynchronous relationship with host datanode master:
ALTER DATANODE SLAVE db1s (SYNC_STATE='async');
remove node
Командная функция:
Измените значения инициализации узла и поля на false в таблице узлов и удалите узел из таблицы pgxc_node, но сохраните информацию в таблице узлов mgr.
Примечание: В настоящее время существует четыре типа узлов, которые можно только удалить: ведущий и подчиненный координатор, подчиненный узел данных и подчиненный узел gtmcoord, и для этого требуется, чтобы узел был not running
.
Формат команды:
REMOVE COORDINATOR SLAVE node_name
REMOVE COORDINATOR MASTER node_name
REMOVE DATANODE SLAVE node_name
REMOVE GTMCOORD SLAVE node_name
Пример команды:
-- Remove coordinator node from the cluster
remove coordinator master cd2;
-- Remove datanode slave node from the cluster
remove datanode slave db1_2;
-- Remove gtmcoord slave node from the cluster
remove datanode slave gc2;
drop node
Командная функция:
Удалите информацию об узле в таблице узлов. Конкретную функцию можно просмотреть с помощью команды справки \h drop gtmcoord
, \h drop coordinator
и \h drop datanode
.
Примечание: Перед инициализацией кластера вы можете удалить информацию об узле путем сброса узла, но при наличии резервной копии вам необходимо удалить резервный узел, прежде чем вы сможете удалить главный узел. После инициализации кластера нельзя выполнять никакие операции удаления узла.
Формат команды:
DROP GTMCOORD { MASTER | SLAVE } node_name
DROP COORDINATOR MASTER node_name [, ...]
DROP DATANODE { MASTER | SLAVE } node_name [, ...]
DROP ZONE zonename # Delete all nodes in the same zone
Пример команды:
-- Delete datanode slave db1s before cluster initialization:
DROP DATANODE SLAVE db1s;
-- Delete coordinator coord1 before cluster initialization:
DROP COORDINATOR master coord1;
-- Delete gtmcoord slave gc before cluster initialization:
DROP GTMCOORD SLAVE gcs;
-- Delete gtmcoord master gc before cluster initialization:
DROP GTMCOORD MASTER gc;