2013-10-07 4 views
0

У меня есть 3 набора экземпляров Mongo для всего экземпляра, установка на 3 отдельных экземпляра AWS EC2 Linux (все одинаковые зоны доступности, но разные подсети). Я могу читать и писать хорошо для набора реплик из другого блока EC2 в той же зоне доступности, однако из удаленных машин (мой локальный ящик) я могу читать только. Попытка вставить или findandmodify возвращает ошибку «Невозможно подключиться к члену набора реплик, соответствующему первому приоритету чтения».Невозможно написать Mongo Replica set удаленно

Если я изменю строку подключения, чтобы подключиться только к первичной, тогда запись проходит через штраф, но, очевидно, не копируется в другие поля.

Я попытался разрешить все трафик между моей локальной коробкой и тремя ящиками Mongo, но никаких изменений не было. Я также читал, что это может быть проблемой при разрешении dns для других полей, поэтому я добавил записи хоста, но это тоже не помогло. Я могу пинговать все 3 ящика в порядке, когда открываю весь трафик.

Существуют ли какие-либо другие конфигурации между драйвером и коробками реплик?

Я использую драйвер C# Mongo 1.8.1. Моя строка соединения выглядеть

mongodb://mongobox1,mongobox2,mongobox3/dbname?replicaSet=replicasetname&readpreference=primaryPreferred 

UPDATE:

Я также обнаружил, что иногда (не уверен, что условия), когда я беру вниз мастер, я могу потом написать отлично от местных и когда я вернуть машину в правильное состояние. Но как только я верну машину, я больше не могу писать на местном уровне.

Спасибо,

Matt

+0

Я собираюсь сказать, что это ошибка конфигурации, а не ошибка установки, я бы сказал, что может быть странность с вашим брандмауэром, каково предпочтение чтения вашего приложения? – Sammaye

+0

Его набор в строке подключения как primaryPreferred. Если это что-то связано с брандмауэром или соединением, почему он отлично пишет против мастера при установке в качестве единственного узла? – Levitron

+0

Хм, что меня путает, но если вы установите его на первичный, вы также получите ошибки чтения? Интересно, это что-то с драйвером C# – Sammaye

ответ

0

Просто, чтобы закрыть эту игру, это закончилось тем, что коробки соединялись с их внутренними изобр в наборе реплик, но я пытался соединиться через их внешние изобр. Они должны совпадать.

Смежные вопросы