|
MongoDB: смена мастера
|
|||
---|---|---|---|
#18+
Добрый день, есть реплика-сет mongodb 2.6 состоящий из 3-х нод и 3-х арбитров. Если мастер ноду вывести из работы (или поменять ее статус, например прописав db.stapDown()) то кластер на несколько секунд погружается в даун, видимо потому, что нет мастера. По моим наблюдением это может длится около 10 секунд, потом кто-то объявляется мастером и все продолжает работать. Все дата-ноды имеют хорошую связь между собой и загрузка на запись там не очень большая, почему такой долгий аут? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2016, 15:59 |
|
MongoDB: смена мастера
|
|||
---|---|---|---|
#18+
HettДобрый день, есть реплика-сет mongodb 2.6 состоящий из 3-х нод и 3-х арбитров. Если мастер ноду вывести из работы (или поменять ее статус, например прописав db.stapDown()) то кластер на несколько секунд погружается в даун, видимо потому, что нет мастера. По моим наблюдением это может длится около 10 секунд, потом кто-то объявляется мастером и все продолжает работать. Все дата-ноды имеют хорошую связь между собой и загрузка на запись там не очень большая, почему такой долгий аут? По умолчанию ноды реплика сета отправляют heartbeat сигнал друг другу каждые 2 секунды. И если нет ответа от одной из нод в течение 10 секунд, то эта нода реплика сета помечается недоступной. В итоге чтобы кластеру убедиться, что мастер нода не доступна должно пройти минимум 10 секунд. Эту настройку по-умолчанию можно изменить. Смотрите на параметр local.system.replset.settings.heartbeatTimeoutSecs в документации . ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2016, 17:30 |
|
MongoDB: смена мастера
|
|||
---|---|---|---|
#18+
Спасибо. А есть какие-то противопоказания для использования низких значений, например heartbeat раз в 500мс и считать ноду неактивной через 1500 мс? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2016, 19:27 |
|
MongoDB: смена мастера
|
|||
---|---|---|---|
#18+
Оказывается настройки интервала hearhbeat нет. У них на трекере есть запрос реализации, но он еще открыт, хоть и принят уже давно. Cделал heartbeatTimeoutSecs = 5 пока. Сейчас обновлял кластер и заметил такую вещь, что после обновления последнего сервера он через 10 секунд после того как поднялся стал мастером (у него немного выше member[i].priority) чем у остальных. Но у других был приличный аптайм зато. rs.status() мне показал, что uptime у всех мемберов примерно одинаковый (+/- 1 секунда). После смены мастера, uptime сбрасывается на 0 ? В доке вроде ничего не сказано про это https://docs.mongodb.com/manual/reference/command/replSetGetStatus/#replSetGetStatus.members [n].uptime ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2016, 14:06 |
|
|
start [/forum/topic.php?fid=48&msg=39263827&tid=1856743]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 242ms |
total: | 513ms |
0 / 0 |