Как установить MariaDB Галера кластера на Ubuntu 16.04

Как установить MariaDB Галера кластера на Ubuntu 16.04

MariaDB Галера является мульти-мастер кластера для MariaDB. Поскольку MariaDB 10.1, пакеты сервера MariaDB сервер и MariaDB Галера были объединены и Галера пакеты и их зависимости получить устанавливаются автоматически при установке MariaDB. В данный момент, MariaDB Галера кластера поддерживает только механизм хранения InnoDB / XtraDB. В MariaDB 10.0 а также 5.5, вам нужно будет скачать отдельно. MariaDB Галера добавляет избыточность базы данных сайта;. В MariaDB Галера кластера, несколько серверов база данных взаимосвязаны друг с другом и держать синхронные.

MariaDB Галера предоставляет множество функций, некоторые из них перечислены ниже:

  1. Синхронная репликация.
  2. Автоматический узел присоединения.
  3. Активный-активный мульти-мастер топологии.
  4. Правда параллельно репликации, на уровне строк.
  5. Чтение и запись масштабируемость, Меньший клиент латентности.
  6. Неудачные узлы, автоматическое падение из кластера.

В этом учебном пособии, мы объясним, как настроить MariaDB Галера кластера 10.1 с 3 узлы, работающие на Ubuntu 16.04 сервер. Мы также проверить репликацию базы данных между всеми узлами.

Требования

  • Три Вершины под управлением Ubuntu 16.04 сервер.
  • Node1 со статическим IP-адресом 192.168.0.102, Node2 со статическим IP-адресом 192.168.0.103 и node3 со статическим IP-адресом 192.168.0.104 настроить на сервере.
  • Некорневые пользователи с привилегиями настройки Суда на всех узлах.

Начиная

Первый, вам необходимо обновить все узлы с последней версией. Вы можете обновить все из них с помощью следующей команды:

Sudo APT-получить обновление -y
Sudo APT-получить обновление -y

следующий, перезапустить все узлы, чтобы применить эти изменения. затем, войти с пользователем SUDO и перейти к следующему шагу.

Установить MariaDB Галера

пакеты MariaDB сервера и MariaDB Галера сервера объединены в версии MariaDB 10.1. По умолчанию, MariaDB 10.1 не доступен в репозиториях Ubuntu по умолчанию, так что вам нужно будет добавить репозиторий MariaDB на всех узлах.

Первый, добавить ключ репозитория MariaDB с помощью следующей команды:

Суд APT-ключ наречи --recv клавиша --keyserver HKP: //keyserver.ubuntu.com: 80 0xF1656F24C74CD1D8

следующий, добавить репозиторий и обновить APT кэша с помощью следующей команды:

Суда надстройка apt-репозитория 'DEB [арка = amd64, i386, ppc64el] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu основные дружественный'
Sudo APT-получить обновление -y

После того, как хранилище обновляется, установить MariaDB с помощью следующей команды:

Sudo APT-получить установку MariaDB-сервер Rsync -y

Вышеприведенная команда установит MariaDB с Галерой и несколько зависимостей. Части Галера остаются в состоянии покоя до тех пор, пока настроен, как плагин или хранение двигатель. После того, как MariaDB устанавливается на всех узлах, Вы можете продолжить, чтобы обеспечить MariaDB.

По умолчанию установка MariaDB не защищена, так что вам нужно будет обеспечить установку MariaDB. Вы можете сделать это, запустив сценарий mysql_secure_installation:

Суд mysql_secure_installation

В этом процессе, Вам будет предложено установить пароль суперпользователя, удалить анонимных пользователей, запретить вход администратора и удаленно удалить тестовую базу данных. Ответьте на все вопросы, как показано ниже:

Enter current password for root (enter for none):
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

После того, как MariaDB обеспечивается на всех узлах, вы можете переходить к следующему шагу.

Настройка MariaDB кластера на Node1

Первый, перейти к Node1 и создать файл конфигурации для Галера. По умолчанию, MariaDB считывает конфигурацию из /etc/mysql/conf.d/ каталога. Для этого, выполните следующую команду:

Судо нано /etc/mysql/conf.d/galera.cnf

Добавьте следующие строки:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.102,192.168.0.103,192.168.0.104"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.102"
wsrep_node_name="Node1"

Сохраните файл, когда вы закончите.

Заметка: 192.168.0.102 является IP-адрес Node1

Добавить Node2 на Галера кластера

следующий, перейти к Node2 и создать файл конфигурации для Галера:

Судо нано /etc/mysql/conf.d/galera.cnf

Добавьте следующие строки:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.102,192.168.0.103,192.168.0.104"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.103"
wsrep_node_name="Node2"

Сохраните файл, когда вы закончите.

Заметка: 192.168.0.103 является IP-адрес Node2.

Добавить node3 на Галера кластера

следующий, перейти к node3 и создать файл конфигурации для Галера:

Судо нано /etc/mysql/conf.d/galera.cnf

Добавьте следующие строки:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.102,192.168.0.103,192.168.0.104"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.104"
wsrep_node_name="Node3"

Сохраните файл, когда вы закончите.

Заметка: 192.168.0.104 является IP-адрес node3.

Настройка брандмауэра

Галера Cluster использует четыре порта 3306 для подключения клиента MySQL, 4444 для государственной Snapshot передачи, 4567 для Галера трафика репликации кластера и 4568 для инкрементного State Transfer. Так что вам нужно будет, чтобы все эти порты с помощью брандмауэров UFW. Вы можете сделать это, выполнив следующую команду на всех узлах:

Первый, включить брандмауэр UFW с помощью следующей команды:

Sudo UFW включить

следующий, разрешить все порты с помощью следующей команды:

Sudo UFW позволит 3306 / TCP
Sudo UFW позволит 4444 / TCP
Sudo UFW позволит 4567 / TCP
Sudo UFW позволит 4568 / TCP
Sudo UFW позволяют 4567 / ПДП

Вы можете проверить состояние брандмауэра с помощью следующей команды:

Sudo UFW статус

После того, как брандмауэр UFW настроен на всех узлах, вы можете переходить к следующему шагу.

Начало MariaDB Галера кластера

После успешного завершения настройки всех узлов, перейти к Node1 и начать Галера кластера.

Перед Галера может начать, Вы должны убедиться, что служба MariaDB останавливается на всех узлах.

Выполните следующую команду на всех узлах:

SUDO systemctl остановка MySQL

Теперь, начать Галера кластера на Node1 с помощью следующей команды:

Суд galera_new_cluster

Теперь, проверить, является ли кластер работает или нет с помощью следующей команды:

mysql -u root -p -e "show status like 'wsrep_cluster_size'"

Если все в порядке, вы должны увидеть следующий вывод:

+--------------------+-------+
| vARIABLE_NAME | Значение |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

На Node2, запустить службу MariaDB:

SUDO systemctl начало MySQL

Вы можете проверить состояние службы MariaDB ли она работает или нет с помощью следующей команды:

SUDO systemctl статус MySQL

Если все в порядке, Вы должны увидеть следующий вывод:

?? mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2017-09-17 10:11:20 EDT; 10min ago
  Process: 715 ExecStartPost = / бен / ш -с systemctl незадана-среда _WSREP_START_POSITION (код = возбужденном, status=0/SUCCESS)
  Process: 713 ExecStartPost = / и т.д. / MySQL / Debian-старт (код = возбужденном, status=0/SUCCESS)
  Process: 545 ExecStartPre = / бен / ш -с [! -e / USR / бен / galera_recovery] && ДА = || ДА = `/ USR / бен / galera_recovery`; [ $? -eq 0 ]   && systemctl set
  Process: 535 ExecStartPre = / бен / ш -с systemctl незадана-среда _WSREP_START_POSITION (код = возбужденном, status=0/SUCCESS)
  Process: 514 ExecStartPre = / USR / бен / установить -m 755 -о MySQL -g корень -d / вар / запустить / туздЫ (код = возбужденном, status=0/SUCCESS)
 Main PID: 661 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 26 (Предел: 4915)
   CGroup: /system.slice/mariadb.service
           ??????661 /usr/sbin/mysqld

Sep 17 10: 11: 11 Debian Systemd [1]: Запуск сервера базы данных MariaDB ...
сентябрь 17 10: 11: 15 Debian туздЫ [661]: 2017-09-17 10: 11: 15 140287134630464 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process
Sep 17 10: 11: 20 Debian Systemd [1]: Начало работы сервера базы данных MariaDB.

Теперь, Ваш второй узел должен был автоматически связан с кластером. Вы можете убедиться в том, что с помощью следующей команды:

mysql -u root -p -e "show status like 'wsrep_cluster_size'"

Если все работает хорошо, размер кластера должен быть установлен на две части:

+--------------------+-------+
| vARIABLE_NAME | Значение |
+--------------------+-------+
| wsrep_cluster_size | 2     |
+--------------------+-------+

На node3, запустить службу MariaDB:

SUDO systemctl начало MySQL
mysql -u root -p -e "show status like 'wsrep_cluster_size'"

Если все работает хорошо, размер кластера должен быть установлен на три части:

+--------------------+-------+
| vARIABLE_NAME | Значение |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+

Вы кластер сейчас работают и общения друг с другом.

Тест репликации баз данных

Теперь, все узлы в Интернете, это время, чтобы проверить репликацию базы данных в кластере Галера. Давайте начнем с создания базы данных по Node1 и проверить, является ли она реплицируется на всех узлах.

Первый, войти в MariaDB консоль с помощью следующей команды:

MySQL -u -p корень

Введите пароль суперпользователя и создать базу данных с именем test_db:

MariaDB [(нет)]> создание test_db базы данных;
MariaDB [(нет)]> показать баз данных;

+--------------------+
| База данных |
+--------------------+
| test_db |
+--------------------+

Теперь переходим к Node2 и node3, а затем проверить репликации работают или нет:

MySQL -u -p корень
MariaDB [(нет)]> показать баз данных;

+--------------------+
| База данных |
+--------------------+
| test_db |
+--------------------+

Поздравления! Вы успешно установили и настроили MariaDB Галера кластера на Ubuntu 16.04 сервер.

Вывод

Я надеюсь, что вы теперь достаточно знаний, чтобы установить и настроить MariaDB Галера кластера на Ubuntu 16.04. Теперь вы можете легко масштабируется до нескольких, или даже десятки, из различных узлов. Если у вас есть какие-либо сомнения или больше запросов, затем обратитесь по ссылке Галера Cluster Doc

Источник

относящиеся сообщение

оставьте ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатывается комментарий данных.