Spec-Zone.ru › MariaDB

Установка Spider

Двигатель хранения Spider поддерживает разбиение и транзакции XA, и позволяет таблицам из разных экземпляров MariaDB обрабатываться так, как будто они находятся в одном экземпляре.

Для использования Spider вам нужны два или более экземпляра MariaDB, как правило, работающие на отдельных хостах. Узел Spider — это сервер MariaDB, который получает запросы от вашего приложения. Затем он обрабатывает эти запросы, подключаясь к одному или нескольким узлам данных. Узлы данных — это серверы MariaDB, которые фактически хранят данные таблицы.

Для работы необходимо настроить узлы данных на прием запросов от узла Spider и настроить узел Spider на использование узлов данных в качестве удаленного хранилища.

Вам не нужно устанавливать дополнительные пакеты для его использования, но требуется некоторая настройка.

Настройка узлов данных

В развертываниях Spider используются узлы данных для хранения фактических данных таблицы. Для того, чтобы сервер MariaDB работал как узел данных для Spider, необходимо создать таблицу или таблицы для хранения данных и настроить сервер на прием клиентских подключений от узла Spider.

Например, сначала создайте таблицу:

CREATE TABLE test.spider_example (
   id INT PRIMARY KEY AUTO_INCREMENT,
   name VARCHAR(50)
) ENGINE=InnoDB;

Далее создайте пользователя для узла Spider и задайте пароль для этого пользователя. Для примера предположим, что узел Spider находится по IP-адресу 192.168.1.1:

CREATE USER spider@192.168.1.1;

SET PASSWORD FOR spider@192.168.1.1 = PASSWORD('passwd');

Затем предоставьте пользователю spider права на таблицу-пример.

GRANT ALL ON test.spider_example TO spider@192.168.1.1;

Узел данных теперь готов к использованию. Вы можете проверить его, попытавшись подключиться к данным MariaDB-клиента с узла Spider. Например, предположив, что узел данных находится по IP-адресу 192.168.1.5, подключитесь по SSH к узлу Spider, а затем попробуйте установить клиентское подключение.

$ mysql -u spider -p -h 192.168.1.5 test -e "SHOW TABLES;"

+----------------+
| Tables_in_test |
+----------------+
| spider_example |
+----------------+

Установка Spider на узел Spider

Двигатель хранения Spider должен быть установлен на узле Spider. Узел Spider — это сервер MariaDB, который получает запросы к таблице (в данном случае test.spider_example). Затем он использует движок хранения Spider для подключения к таблицам на узлах данных для извлечения данных и возврата набора результатов.

Для установки движка хранения Spider выполните процесс установки, показанный ниже.

Шаг 1: Установка пакета Spider (Debian/Ubuntu)

В Debian и Ubuntu движок хранения Spider устанавливается через отдельный mariadb-plugin-spider пакет. Для установки пакета через APT выполните следующую команду:

$ sudo apt install mariadb-plugin-spider

В других дистрибутивах Linux движок хранения Spider устанавливается вместе с сервером MariaDB.

Шаг 2a: Загрузка плагина Spider (MariaDB 10.4 и новее)

С MariaDB 10.4 и новее движок хранения Spider может быть загружен как обычный плагин, и Spider автоматически создаёт свои зависимости. Существует два основных способа загрузки плагина.

Плагин можно загрузить динамически без перезапуска сервера, выполнив INSTALL SONAME или INSTALL PLUGIN:

INSTALL SONAME "ha_spider";

В качестве альтернативы, плагин можно загрузить, добавив plugin_load_add=ha_spider в файл конфигурации:

<<quote>>
[mariadb]
...
plugin_load_add = "ha_spider"
<</quote>>

Если плагин загружается в файле конфигурации, сервер загрузит плагин после перезапуска сервера.

Загрузка плагина также создаёт ряд новых таблиц в базе данных mysql, включая:

Название таблицы Добавлена в версии
spider_xa MariaDB 10.0.4
spider_xa_member MariaDB 10.0.4
spider_xa_failed_log MariaDB 10.0.5
spider_tables MariaDB 10.0.4
spider_link_mon_servers MariaDB 10.0.4
spider_link_failed_log MariaDB 10.0.4
spider_table_position_for_recovery MariaDB 10.3.3
spider_table_sts MariaDB 10.3.3
spider_table_crd MariaDB 10.3.3

Шаг 2b: Загрузка плагина Spider (MariaDB 10.3 и ранее)

С MariaDB 10.3 и ранее движок хранения Spider может быть загружен путём выполнения прилагаемого скрипта install_spider.sql.

$ mysql --user root --password < /usr/share/mysql/install_spider.sql

Выполнение этого скрипта конфигурации также создаёт ряд новых таблиц в базе данных mysql, включая:

Название таблицы Добавлена в версии
spider_xa MariaDB 10.0.4
spider_xa_member MariaDB 10.0.4
spider_xa_failed_log MariaDB 10.0.5
spider_tables MariaDB 10.0.4
spider_link_mon_servers MariaDB 10.0.4
spider_link_failed_log MariaDB 10.0.4
spider_table_position_for_recovery MariaDB 10.3.3
spider_table_sts MariaDB 10.3.3
spider_table_crd MariaDB 10.3.3

Шаг 3: Проверка загрузки плагина Spider

Вы можете проверить, что плагин Spider загружен, запросив таблицу information_schema.ENGINES:

SELECT ENGINE, SUPPORT
FROM information_schema.ENGINES
WHERE ENGINE = 'SPIDER';

+--------------------+---------+
| ENGINE             | SUPPORT |
+--------------------+---------+
| SPIDER             | YES     |
+--------------------+---------+

Если плагин Spider не загружен, запрос не вернёт никаких результатов.

Настройка узлов Spider

После настройки узла или узлов данных, вы можете настроить узел Spider для их использования. Узел Spider — это сервер MariaDB, который получает запросы к таблице (в данном случае test.spider_example). Затем он использует движок хранения Spider для подключения к таблицам на узлах данных для извлечения данных и возврата набора результатов.

Настройка сервера

Для подключения узла Spider к узлам данных необходимо выполнить оператор CREATE SERVER для каждого узла данных. Затем вы можете использовать определение сервера при создании таблицы Spider.

CREATE SERVER dataNode1 FOREIGN DATA WRAPPER mysql
OPTIONS (
   HOST '192.168.1.5',
   DATABASE 'test',
   USER 'spider',
   PASSWORD 'passwd',
   PORT 3306);

В случае необходимости изменения или замены этого сервера после настройки таблицы Spider, помните о необходимости выполнения оператора FLUSH для обновления определения сервера.

FLUSH TABLES;

Создание таблицы

После настройки узлов данных и настройки узла Spider для использования, вы можете создать таблицу Spider. Таблица Spider должна иметь те же определения столбцов, что и таблицы InnoDB на узлах данных. Spider настраивается через переменные системы таблиц, передаваемые параметру COMMENT.

CREATE TABLE test.spider_example (
   id INT PRIMARY KEY AUTO_INCREMENT,
   name VARCHAR(50)
) ENGINE=Spider
COMMENT='wrapper "mysql", srv "dataNode1", table "spider_example"';

Это настраивает Spider для использования сервера dataNode1, (определённого выше), как удалённой таблицы. Любые данные, которые вы записываете в эту таблицу, фактически хранятся на сервере MariaDB по адресу 192.168.1.5.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не предварительно проверяется MariaDB. Мнения, информация и мнения, выраженные в этом содержании, необязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/spider-installation/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API