yopp
он делается раз в день? :)
Korostelev
этот момент уточню, но тут есть момент что время когда появляется запись чаще всего разное
yopp
у меня была большая инсталляция в esxi, с отдельными схд и было очень много проблем
yopp
делайте интегрированный дешборд, куда сведите метрики с vmware, включая схд, добавьте туда данные о производительности монги и сделайте счётчик этих самых сообщений
yopp
и ищите корреляцию
Korostelev
ок попробую к заббиксу прикрутить эти параметры. спасибо за совет
yopp
уверен что проблема будет лежать где-то со стороны vmware, скорее всего в какой-то пиковой нагрузке на схд или шины по которой подключен схд
Korostelev
на счет 'at end' значение увеличивается
yopp
yopp
там была вот такая история про smaps
yopp
не относится к монге, это к линуксу
Roman
Roman
но опомнилась потом
Roman
это минус хард минус база, почему затуп?
RA-TA-TATA
Ребята, что-то не пойму чуть-чуть, точнее запутался.
test- коллекция
people - документ
в документе - объекты
Верно?
И где тут курсор
yopp
RapidCodeLab
yopp
курсор это абстракция над результатом запроса
RA-TA-TATA
Так, курсор как понял - результат запроса
RA-TA-TATA
А по составу, верно ?
yopp
нет, курсор это не результат запроса
yopp
курсор это абстракция над результатом
RapidCodeLab
RapidCodeLab
Это указатель на результаты ьипа
yopp
курсор он как в текстовом редакторе курсор. это положение клиента в потоке результатов
RA-TA-TATA
а, ок
RapidCodeLab
Ага, каждая next итерация отдает новый документ
RapidCodeLab
Из потока
RA-TA-TATA
А состав верно написал?
RA-TA-TATA
Или ошибся
RA-TA-TATA
Просто что-то запутался
yopp
разница только в том, что в текстовом редакторе курсор можно произвольно двигать, а в монге только вперёд
RapidCodeLab
RapidCodeLab
Тупой вопрос конечно)
RA-TA-TATA
RA-TA-TATA
yopp
RA-TA-TATA
Понял, спасибо
yopp
объект это то как документ может быть представлен клиентом
yopp
в монге нет такого понятия
yopp
хотя конечно это спорный вопрос, потому что документ он на самом деле bson документ, а bson это binary json, а json это javascript object notation ;)
yopp
Mikhail
Добрый вечер, коллеги. Дошел до реализации rs монги в кубике и не понял где у неё HA
Mikhail
Есть куча слейвов, но мастер то один
Mikhail
Если он ложится, какой-то из секондари становится мастером, но приложение то ходит в сломанный мастер
Mikhail
Что я упустил?
Alex
Так приложение подключится к реплике, а к конкретному мастеру. Там драйвер должен сам разрулить и переключиться
Mikhail
Я взял helm-chart от bitnami, он разворачивает два сервиса, один смотрит на primary, другой на все secondary
Mikhail
Мне не понятно, куда ходить приложением
yopp
у вас есть два варианта: либо передать список всех нод клиенту либо указать их в SRV записи
yopp
клиенты сами разбируться когда к какой ноде подключаться, в зависимости от текущей топологии
yopp
главное чтоб у них был этот список
yopp
если это шард, то список должен состоять из mongos
Mikhail
Спасибо, буду пробовать
Mikhail
Класс, @dd_bb
Mikhail
In [8]: c = MongoClient('mongodb://root:eXXXXXXjs@db-mongodb-headless').test
In [9]: c.test.insert_one({"x": 1}).inserted_id
NotMasterError: not master
Mikhail
db-mongodb-headless ссылается на все инстансы, сейчас там 2 из 3
Mikhail
чяднт?
Gor
Mikhail
Gor
типа прокси?
Gor
tcp/ip?
Mikhail
ну по сути правила iptables. db-mongodb-headless имеет IP адрес, который на уровне iptables распределяется на два других
Gor
replicaSet там за этим делом или standalone mongo?
Mikhail
replicaset
Gor
зайти через шелл на реплику сет и проверь rs.status()
Gor
но дело скорее всего в том, что на slave попадаешь
Gor
без slaveOk()
Gor
хотя.. точнее slaveOk поможет только с чтением а insert надо только на мастер
Gor
грубо говоря. ответить тебе надо на вопрос - как через db-mongodb-headless оно законектится только на мастер
Mikhail
rs0:SECONDARY> rs.status()
{
"operationTime" : Timestamp(1555169225, 1),
"ok" : 0,
...
}
}
}
Gor
Gor
это проверить что у тебя хоть один member в статусе master
Mikhail
у меня нет такой записи
Mikhail
rs0:SECONDARY> rs.status()
{
"operationTime" : Timestamp(1555169225, 1),
"ok" : 0,
"errmsg" : "command replSetGetStatus requires authentication",
"code" : 13,
"codeName" : "Unauthorized",
"$clusterTime" : {
"clusterTime" : Timestamp(1555169225, 1),
"signature" : {
"hash" : BinData(0,"WukoGlBjsxatvQnopkGfvCjOCwg="),
"keyId" : NumberLong("6679057196233261057")
}
}
}
yopp
Mikhail
почему?
yopp
потому что у вас получается один адрес на две ноды