Поиск по сайту:

Как установить кластер Percona XtraDB на CentOS 7


На этой странице

  1. Шаг 1. Настройте файл hosts
  2. Шаг 2. Настройка Firewalld
  3. Шаг 3. Установите репозиторий Epel и Socat
  4. Шаг 4. Установите кластер Percona XtraDB
  5. Шаг 5. Настройка кластера Percona XtraDB
  6. Шаг 6. Запустите сервер кластера Percona XtraDB
  7. Шаг 7. Тестирование
  8. Справочник

В этом руководстве я покажу вам, как установить и настроить Percona XtraDB Cluster на сервере CentOS 7. Мы будем использовать Percona XtraDB Cluster 5.6, который полностью совместим с MySQL и Percona Server.

Percona — это компания экспертов по базам данных MySQL и MongoDB, основанная в 2006 году. Percona создает и поддерживает программное обеспечение с открытым исходным кодом для MySQL и MongoDB: Percona Server (сервер базы данных для MySQL с повышенной производительностью высокой доступности), Percona XtraDB Cluster (решение высокой доступности для MySQL кластер), Percona Server для MongoDB и другие инструменты для управления базами данных, такие как набор инструментов Percona, инструменты мониторинга Percona и Percona XtraBackup.

Условие

  • 3 узла сервера CentOS 7.
  • Привилегии root.
  • Базовые знания CentOS 7.

Шаг 1 - Настройте файл hosts

Первое, что нужно сделать, это настроить имена хостов всех серверов. Ive 3 сервера с CentOS 7, как указано ниже:

Node           Server IP       Hostname

Node1   -   192.168.43.36     percona1
Node2   -   192.168.43.166    percona2
Node3   -   192.168.43.148    percona3

Подключитесь ко всем серверам с помощью вашего терминала:

ssh 

Если вы вошли на все серверы, отредактируйте файл /etc/hosts на каждом сервере с помощью vim:

vim /etc/hosts

Вставьте конфигурацию хостов ниже:

192.168.43.36   percona1
192.168.43.166  percona2
192.168.43.148  percona3

Замените IP-адреса на те, которые соответствуют конфигурации вашей локальной сети. Сохранить и выйти.

Шаг 2 — Настройте Firewalld

Firewalld — это новый интерфейс брандмауэра по умолчанию в CentOS 7. Команда firewall-cmd используется для настройки брандмауэра. Мы можем определить и настроить определенные группы или зоны, или мы можем настроить брандмауэр для таких сервисов, как ssh, базы данных MySQL, веб-сервер nginx/apache и т. д.

На этом этапе мы будем использовать firewalld для настройки брандмауэра. Мы будем использовать команду firewall-cmd, чтобы открыть порт сервера percona и другие порты, необходимые для кластера.

Запустите firewalld с помощью этой команды systemctl:

systemctl start firewalld

Затем выполните приведенную ниже команду, чтобы открыть порт, используемый сервером MySQL/percona:

firewall-cmd --zone=public --add-service=mysql --permanent

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

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --zone=public --add-port=4568/tcp --permanent
firewall-cmd --zone=public --add-port=4444/tcp --permanent
firewall-cmd --zone=public --add-port=4567/udp --permanent

Перезагрузите правила брандмауэра:

firewall-cmd --reload

Чтобы просмотреть список всех правил брандмауэра, используйте параметр --list-all:

firewall-cm --list-all

Шаг 3 — Установите репозиторий Epel и Socat

Чтобы Percona XtraDB Cluster работал на сервере, нам нужно установить socat, и он доступен в epel-репозитории. Поэтому нам нужно сначала установить репозиторий Epel, а затем установить socat. Далее мы должны удалить mariadb-libs с сервера, потому что они конфликтуют с Percona XtraDB Cluster.

Установите epel-репозиторий и socat:

yum -y install epel-release
yum -y install socat

Удалите mariadb-libs, чтобы избежать конфликта пакетов между mariadb-libs и Percona XtraDB Cluster:

yum -y remove mariadb-libs

Репозиторий Epel и socat установлены.

Шаг 4. Установите кластер Percona XtraDB.

На этом этапе мы установим кластер Percona xtradb со всеми зависимостями пакетов. Нам нужно добавить репозиторий Percona для установки, а затем мы запускаем сервер Percona и настраиваем пользователя root и пароль для сервера базы данных.

Установите репозиторий Percona с помощью yum:

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

Теперь установите кластер Percona XtraDB и другие пакеты, необходимые для этого руководства:

yum install Percona-XtraDB-Cluster-server-56 Percona-XtraDB-Cluster-client-56 Percona-XtraDB-Cluster-shared-56 percona-toolkit percona-xtrabackup Percona-XtraDB-Cluster-galera-3 rsync nc

Кластер Percona XtraDB установлен, запустите сервер Percona командой zhis systemctl:

systemctl start mysql

Затем настройте пароль root для всех серверов percona/mysql:

mysql_secure_installation

Установите пароль percona/mysql:

Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
New password: TYPE YOUR PASSWORD
Re-enter new password: REPEAT PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Примечание:

Выполните шаги 1–4 на всех трех серверах CentOS.

Шаг 5. Настройка кластера Percona XtraDB

На шаге 4 мы уже установили Percona XtraDB Cluster и настроили пароль root для всех серверных узлов Percona/Mysql. На этом этапе мы создадим нового пользователя для аутентификации SST и отредактируем конфигурацию MySQL my.cnf на каждом из серверов.

SST (передача моментальных снимков состояния) — это полная копия данных с одного сервера в качестве донора на другой сервер в качестве присоединяемого. Для аутентификации SST нам нужно создать нового пользователя с именем sstuser и паролем [email . А для метода SST мы будем использовать xtrabackup-v2 вместо rsync. Пожалуйста, используйте другой и безопасный пароль для вашего кластера!

Войдите в оболочку percona/mysql на каждом сервере:

mysql -u root -p
TYPE YOUR PASSWORD

И создайте нового пользователя sstuser с паролем [email :

create user '%';
flush privileges;

Затем остановите службу MySQL на каждом сервере перед редактированием файла конфигурации:

systemctl stop mysql

Затем отредактируйте файл конфигурации mysql my.cnf на каждом сервере с помощью редактора vim.

На сервере Percona1:

vim /etc/my.cnf

Измените всю строку wsrep с конфигурацией ниже:

wsrep_cluster_address          = gcomm://
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so

wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona1

wsrep_node_address             = percona1
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:

Сохранить и выйти.

На сервере Percona2:

vim /etc/my.cnf

Измените всю строку wsrep с конфигурацией ниже:

wsrep_cluster_address          = gcomm://percona1,percona3
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so

wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona2

wsrep_node_address             = percona2
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:

Сохранить и выйти.

На сервере Percona3:

vim /etc/my.cnf

Измените всю строку wsrep с конфигурацией ниже:

wsrep_cluster_address          = gcomm://percona1,percona2
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so

wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona3

wsrep_node_address             = percona3
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:

Сохранить и выйти.

Скриншот с сервера percona2.

Шаг 6. Запустите кластерный сервер Percona XtraDB

Мы настроили кластер Percona XtraDB на всех серверах, и теперь мы можем запустить сервер.

На сервере Percona1 загрузка или запуск кластера:

systemctl start 

Затем запустите сервер Percona/MySQL на серверах percona2 и percona3 с помощью следующей команды:

systemctl start mysql

убедитесь, что нет сообщений об ошибках. Если после ввода для запуска MySQL возникает ошибка, проверьте файл журнала /var/log/messages.

Шаг 7 — Тестирование

Мы должны войти в оболочку percona/mysql на каждом сервере для тестирования кластера Percona XtraDB.

Войдите в оболочку Percona/MySQL на всех серверах/нодах:

mysql -u root -p
TYPE YOUR PASSWORD

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

SHOW STATUS LIKE 'wsrep_local_state_comment';

Попробуйте выполнить эту команду на каждом узле. Если в результате вы увидите \Синхронизировано\, то этот узел готов к обработке трафика.

Тестирование доступных узлов кластера:

show global status like 'wsrep_cluster_size';

Вы получите текущее количество узлов в кластере Percona.

Для получения полных результатов вы можете использовать следующую команду:

show global status like 'wsrep%';

Ссылка

  • http://galeracluster.com/documentation-webpages/firewalld.html