yopp
А как часто в логи срёт?
Max
да вот совсем активно ща замеряю, сек
yopp
Но в целом это признак что на горячие данные не хватает памяти.
Max
~50 в секунду
yopp
2% запросов
yopp
Долейте памяти, если возможно.
yopp
Просто реплика?
Max
спасибо, попробую диски в пиках до 70% io wait доходят. Да, просто реплика
Max
подозреваю что аналитику сейчас какуюто тяжелую запустили
yopp
Если бизнес логика позволяет читать с секондарей, то можно какие-то данные оттуда начать читать.
Max
еще раз спасибо! пойду рисовать предложения владельцам.
yopp
Из другой коллекции например
Max
с реплики, afaik, много читается, но перепроверю.
yopp
Экспортер воткни
yopp
Будет видно что в памяти живёт
Max
экспортер в какой-нить прометеус?
yopp
https://github.com/db-ai/mongo_collection_exporter
yopp
Мой вот этот
yopp
Там уже для графаны даже шаблоны есть
Max
Понял спасибо, сделаю.
Старый
вот кстати
Старый
у кассандры, аэ сциллы есть лог в котором полная последовательность прихода и обработки данных
Старый
а есть он у монги, а то чтот туплю
Старый
про кластер пока читаю, чтобы поднять в докере
yopp
у кассандры, аэ сциллы есть лог в котором полная последовательность прихода и обработки данных
В монге это Journal — атомарный лог операций относительно стораджа конкретной ноды. В случае с кластером есть oplog, это чуть более высокоуровневый лог операций, который реплицируется. Оплог работает даже если журнал выключен.
Stepan
Народ, начал настраивать шардинг в монге. И не могу поднять mongos
Stepan
mongos —configdb 127.0.0.1:27000 —port 27100
Stepan
из ерора ясно что в configdb нужен конфиг для реплики
Stepan
но где и как указать не могу понять
Stepan
хелп пожалуйста
Stepan
и как тогда поднимать конфиг сервер ?
yopp
https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/
yopp
Пошагово руководство же
Stepan
окей, реплика - копия, а можно шардировать колекцию без реплик ?
yopp
Можно.
Stepan
https://docs.mongodb.com/manual/tutorial/deploy-sharded-cluster-hashed-sharding/#deploy-hashed-sharded-cluster-shard-collection оно ?
Stepan
Просто в етом руководстве тоже надо реплики настраивать
Anonymous
Hello
Roman
Просто в етом руководстве тоже надо реплики настраивать
А можете поделиться рецептами, как обеспечивается отказоустойчивость в sharded кластере? По реплике на каждый шард? Нет варианта поднять, скажем, 1-2 толстые реплики с hdd для нескольких небольших шардов на ssd?
Stepan
Если вопрос адресован мне, то я сам пока разбираюсь
Roman
@dd_bb не подскажешь?
yopp
В целом на целостность самого хранилища это не должно влиять. Хранилища можно из без журналов эксплуатировать. Но эффекты могут непредсказуемые.
Roman
Да, увеличением числа нод а шарде
А есть какие-нибудь готовые схемы распределения нод по n серверов?
yopp
Так нода и есть сервер с монгой
A
есть ли в методе mongo.sort вещь схожая с найти value больше n, найти value меньше n у определенного ключа?
A
просто есть коллекция с n-нным количеством объектов(может быть 100,200,1000) и в каждом объекте 4 ключ-значение И вот допустим надо из этой коллекции в другую коллекцию копировать некоторых объекты у которых определенный ключ будет больше или меньше n
A
и вот как бы доставать весь массив и уже потом парсить весьма долгая идея, поэтому по хорошему бы делать это еще в монге
Igor
Есть массив в элементе коллекции. У каждого элемента есть _id:{version:num, uuid:uuid}. Можно ли как-то вытащить элемент только с максимальной версией?
Igor
В идеале - без unwind, который мне не нравится (не хочу еще раз писать все мапперы )
Roman
Так нода и есть сервер с монгой
А варианты со сдвигом слейвов? На одной ноде мастер и слейв от другой
Yaroslav
Смысл в жизни как таковой
Oleg
Ребят, привет. Кто-нибудь решал вопрос архивирования монги? сейчас бд почти 100гб, проблематично ее эксплуатировать становится.
Oleg
может есть какие то мануалы или бэст практисы
yopp
Что значит «архивирование»?
Александр
Добрый день! Есть вопрос. Есть 3 сервера с монгой. Два в локальной сети, один во внешней. Задача добавить ещё один в реплику (четвёртый). Базы большие, больше 150гб. Хочеться понять как пойдёт трафик на новую реплику, с ближайшего или с primary?
yopp
По-умолчанию выбор происходит автоматически. Обычно оно ориентируется на задержку между нодами и выбирает источник с меньшей задержкой. Но это не гарантирует что источник не поменяется. Если нужно сделать чтоб начальная синхронизация была с какой-то конкретной ноды, то по ссылке выше инструкция.
yopp
Хотя на мой взгляд проще сделать снепшот с реплики и из него восстановить новую. 150 гигов хоть и ничтожно мало, но через initial sync будут медленно литься.
yopp
Oplog window должно быть достаточно чтоб из снепшота поднять
yopp
а в кассандре реплика быстро делалась и в hbase
Тут чят про монгу. Письками можно в другом месте мерятся
Старый
Тут чят про монгу. Письками можно в другом месте мерятся
я не про это, просто странно, WT везде и много схожих вещей
Александр
https://docs.mongodb.com/manual/tutorial/configure-replica-set-secondary-sync-target/
т.е. последовательность действий такая: 1. Добавить монгу на новом сервере в реплику у primary, 2. Запустить на новом сервере rs . syncFrom ( "hostname <: port>" );
yopp
я не про это, просто странно, WT везде и много схожих вещей
Нет никакого смысла сравнивать разные решения на базе wt. wt просто сторадж
yopp
Александр
Нужно убедиться что новая реплика не начала синхронизироваться перед выполнением второго пункта.
Может можно как-то назначить с чем проводить первоначальную синхронизацию?
yopp
Если ничего не изменилось, то нет. iptables или игра «выстрели одновременно». На мастере rs.add и сразу стрелять syncFrom на вторичном
yopp
Но зачем
yopp
Я ещё раз порекомендую из снепшота восстановить
Александр
Чтоб пошёл на тот что ближе, с primary канал <20 mbit, а с другой нодой 1000
yopp
Остановить реплику, сделать копию или снепшот dbPath и запустить реплику обратно. Дальше dbPath перенести на новый сервер и там настроить реплику уже с готовым dbPath. Начальная синхронизация не потребуется
yopp
Там скорее всего replication window несколько дней, если не недель
yopp
С гигабитом это займёт меньше часа