Репликация MongoDB помогите разобраться?

Проверяю и получаю:


rs0:PRIMARY> rs.status()
{
        "set" : "rs0",
        "date" : ISODate("2013-11-15T08:47:30Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "IP:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 186686,
                        "optime" : Timestamp(1384505195, 1),
                        "optimeDate" : ISODate("2013-11-15T08:46:35Z"),
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "IP:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 822,
                        "optime" : Timestamp(1384322313, 1),
                        "optimeDate" : ISODate("2013-11-13T05:58:33Z"),
                        "lastHeartbeat" : ISODate("2013-11-15T08:47:29Z"),
                        "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
                        "pingMs" : 0
                },
                {
                        "_id" : 2,
                        "name" : "IP:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 822,
                        "optime" : Timestamp(1384322411, 1),
                        "optimeDate" : ISODate("2013-11-13T06:00:11Z"),
                        "lastHeartbeat" : ISODate("2013-11-15T08:47:28Z"),
                        "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
                        "pingMs" : 0
                }
        ],
        "ok" : 1
}
Почему все члены реплики PRIMARY, как сделать одного главного и два ведомых?

  • Вопрос задан
  • 2891 просмотр
Решения вопроса 1
srsd
@srsd Автор вопроса
Вобщем так, кому интересно:
На главном (мастере) в шеле удалил членов реплики, перезапустил монго (иначе при добавлении ругался, что такие машины уже добавленны).
Перезапустил монго на других машинах.
С главного добавлял по одному хосту и проверял уже с двух машин, потом добавил третью машину. Выставил приоритеты.
Как я понял весь косяк был в том что я добавлял сразу всех членов реплики, а когда сделал по одному и после каждого rs.reconfig все заработало.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Rpsl
@Rpsl
Кратко о себе

Попробуйте сдeлать инициализацию.


rs.initiate()

Ответ написан
Комментировать
srsd
@srsd Автор вопроса

Делал. Это уже выводы после нее. Если я ее еще раз сделаю я получу "already initialized" и больше ничего.

Ответ написан
Комментировать
Rpsl
@Rpsl
Кратко о себе

Мне кажется что реплика собрана не правильно. Попробуйте разобрать ее, потом на одном первом мембере сделать rs.initiate() и уже после этого добавить остальных через rs.add()

http://docs.mongodb.org/manual/tutorial/deploy-replica-set/

Ответ написан
Комментировать
srsd
@srsd Автор вопроса

По этому документу она и была сделанна.
Пройдем по шагам:
На каждой машине правлю конфиг.файл. Ну и соответственно проверяю доступность машин друг для друга.
Потом на первой машине делаю rs.initiate() и потом rs.add() и добавляю две другие.
Как разобрать реплику?

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы