Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Информация
Привилегия SELECT необходима для работы проверки репликации из GUI EMS

Выдача прав сервисным юзерам

Открыть /usr/lib/eltex-ems/conf/config.txt, посмотреть какие username используются (по умолчанию - javauser)

Выдаем им права на внешний доступ на обоих серверах

Блок кода
languagesql
themeRDark
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';

Включение репликации

Запуск репликации на втором сервере

...

Блок кода
languagesql
themeRDark
mysql>  STOP SLAVE;
mysql>  CHANGE MASTER TO MASTER_HOST='<ip_server1>', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;
mysql>  START SLAVE;

где,

  • MASTER_LOG_FILE='mysql-bin.000001' – указать значение File, полученное на первом сервере.
  • MASTER_LOG_POS=107 – указать значение Position, полученное в предыдущем пункте (при первичной настройке рекомендуется указать 107).

...

Блок кода
languagesql
themeRDark
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='<ip_server2>', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;
START SLAVE;

...

Предупреждение
При конфигурации по умолчанию Replica Set из двух узлов полностью выходит из строя при отказе одного из них (даже secondary).

Настройка replicaSet

В В /etc/hosts на всех узлах необходимо добавить ноды по типу <IP_address> <hostname>/etc/mongod.conf на всех узлах:

...

Создать конфигурацию replica set

Информация
Если хотите использовать в конфигурации hostname вместо ip-адреса, то на всех узлах в /etc/hostname нужно указать названия нод и в /etc/hosts на всех узлах необходимо добавить все ноды по типу <IP_address> <hostname>


Блок кода
themeRDark
> rs.initiate(
   {
      _id: "replica_set_name",
      version: 1,
      members: [
         { _id: 0, host : "Primary_ip:27017" },
         { _id: 1, host : "Secondary_ip:27017" },
         { _id: 2, host : "Arbiter_ip:27017,true" }
      ]
   }
)

...

Блок кода
languagejs
themeRDark
replica_set_name:PRIMARY> rs.config()
Предупреждение
Если у первого элемента (индекс 0) указан hostname вместо ip-адреса, и при этом в сети не используется DNS необходимо скорректировать настройку Replica Set до добавления второго узла. Если используется DNS и указано верное DNS имя, можно переходить к добавлению второго узла.

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

Блок кода
languagejs
themeRDark
replica_set_name:PRIMARY> cfg = rs.conf()
replica_set_name:PRIMARY> cfg.members[<индекс>].host = "<ip_server1>:27017"
replica_set_name:PRIMARY> rs.reconfig(cfg)

И снова проверить текущую конфигурацию:

Блок кода
languagejs
themeRDark
replica_set_name:PRIMARY> rs.config()

Параметр "host" должен содержать ip-адрес этого сервера.

Добавление/удаление узов в Replica Set

Проверить состояние Replica Set можно выполнив в консоли MongoDB команду rs.status()

Добавление/удаление/изменение узов в Replica Set

Настройку узлов в Replica Set можно выполнять только на PRIMARY

Добавить в Replica Set узел Secondary (выполнять на  PRIMARY):

Блок кода
languagejs
themeRDark
replica_set_name:PRIMARY> rs.add("<ip_server>:27017")
{ "ok" : 1 } 

...

Добавить в Replica Set узел Arbiter (выполнять на PRIMARY):

Блок кода
languagejs
themeRDark
replica_set_name:PRIMARY> rs.add("<ip_server>:27017",true)
{ "ok" : 1 } 

...

Блок кода
languagejs
themeRDark
replica_set_name:PRIMARY> rs.remove("<ip_server>:27017")
{ "ok" : 1 } 

Проверить состояние Replica Set можно выполнив в консоли MongoDB команду rs.status()Для корректировки адреса сервера выполнить следующее:

Блок кода
languagejs
themeRDark
replica_set_name:PRIMARY> cfg = rs.conf()
replica_set_name:PRIMARY> cfg.members[<индекс>].host = "<ip_server>:27017"
replica_set_name:PRIMARY> rs.reconfig(cfg)

Работа Eltex-PCRF в режиме кластера

...