...
Информация |
---|
Привилегия SELECT необходима для работы проверки репликации из GUI EMS |
Выдача прав сервисным юзерам
Открыть /usr/lib/eltex-ems/conf/config.txt, посмотреть какие username используются (по умолчанию - javauser)
Выдаем им права на внешний доступ на обоих серверах
Блок кода |
---|
|
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
|
Включение репликации
Запуск репликации на втором сервере
...
Блок кода |
---|
|
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).
...
Блок кода |
---|
|
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> |
Блок кода |
---|
|
> 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" }
]
}
) |
...
Блок кода |
---|
|
replica_set_name:PRIMARY> rs.config()
|
Предупреждение |
---|
Если у первого элемента (индекс 0) указан hostname вместо ip-адреса, и при этом в сети не используется DNS необходимо скорректировать настройку Replica Set до добавления второго узла. Если используется DNS и указано верное DNS имя, можно переходить к добавлению второго узла. |
Для корректировки адреса сервера выполнить следующее:
Блок кода |
---|
|
replica_set_name:PRIMARY> cfg = rs.conf()
replica_set_name:PRIMARY> cfg.members[<индекс>].host = "<ip_server1>:27017"
replica_set_name:PRIMARY> rs.reconfig(cfg) |
И снова проверить текущую конфигурацию:
Блок кода |
---|
|
replica_set_name:PRIMARY> rs.config()
|
Параметр "host"
должен содержать ip-адрес этого сервера.
Добавление/удаление узов в Replica Set
Проверить состояние Replica Set можно выполнив в консоли MongoDB команду rs.status()
Добавление/удаление/изменение узов в Replica Set
Настройку узлов в Replica Set можно выполнять только на PRIMARY
Добавить в Replica Set узел Secondary (выполнять на PRIMARY):
Блок кода |
---|
|
replica_set_name:PRIMARY> rs.add("<ip_server>:27017")
{ "ok" : 1 } |
...
Добавить в Replica Set узел Arbiter (выполнять на PRIMARY):
Блок кода |
---|
|
replica_set_name:PRIMARY> rs.add("<ip_server>:27017",true)
{ "ok" : 1 } |
...
Блок кода |
---|
|
replica_set_name:PRIMARY> rs.remove("<ip_server>:27017")
{ "ok" : 1 } |
Проверить состояние Replica Set можно выполнив в консоли MongoDB команду rs.status()
Для корректировки адреса сервера выполнить следующее:
Блок кода |
---|
|
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 в режиме кластера
...