percona?
Вроде как добавил опцию шардинга, но вижу, что на всех репликах копии данных в полном объеме 🥲
а коллекцию как создавали? там надо явно настраивать шардирование
Думал достатно подключиться через mongos
и еще, пока данных мало они могут оставаться на одном из шардов, пока не будет производиться перебалансировка. В новых версиях 6+ меняли и она вроде поотзывчевее, в старых данных над много набрать чтоб они начали разъезжаться
Та у меня сходу 250 гб
Проверьте что вы включили шардирование у коллекции (see https://www.mongodb.com/docs/manual/core/sharding-shard-a-collection/#std-label-sharding-shard-key-creation). Если точно шардировали, то посмотрите в статус шарда: sh.status(). Там будет информация о количестве чанков на шардах, статистика балансировщика и если были ошибки, то сообщения об ошибках https://www.mongodb.com/docs/manual/reference/method/sh.status/
А уже на существующей коллекции с данными можно включить шардирование? И разнесет ли после этого информацию по нодам?
Да, вы можете шардировать существующую коллекцию и балансировщик её постепенно разнесет по всему кластеру. Сразу отмечу что балансировка занимает кучу времени, плюс балансируется не по размеру, а по количеству чанков
а как увидеть что балансировщик начал разносить чанки по шардам? в sh.status() виже следующее: { 'Currently enabled': 'yes', 'Failed balancer rounds in last 5 attempts': 0, 'Migration Results for the last 24 hours': 'No recent migrations', 'Currently running': 'no' } но вероятно не туда смотрю)
А у вас ниже есть информация о расшарженых базах и коллекциях?
[ { database: { _id: 'config', ... ... ... { database: { _id: 'crawler', primary: 'rs0', partitioned: true, version: { uuid: UUID("7c82efd0-3744-4480-9e0b-4b891ab2a01e"), timestamp: Timestamp({ t: 1691434708, i: 4 }), lastMod: 1 } }, collections: { 'crawler.pages33': { shardKey: { url: 1, hash: 1 }, unique: false, balancing: true, chunkMetadata: [ { shard: 'rs0', nChunks: 7136 } ], chunks: [ 'too many chunks to print, use verbose if you want to force print' ], tags: [] } } } ]
А у вас добавлены остальные шарады в конфигурацию? https://www.mongodb.com/docs/manual/reference/method/sh.addShard/
shards [ { _id: 'rs0', host: 'rs0/mongodb-rs0-0.mongodb-rs0.infra.svc.k8s.us:27017,mongodb-rs0-1.mongodb-rs0.infra.svc.k8s.us:27017,mongodb-rs0-2.mongodb-rs0.infra.svc.k8s.us:27017', state: 1, topologyTime: Timestamp({ t: 1691434502, i: 3 }) } ] оператор сам добавил, но могу ошибаться)
У вас тут только один шард rs0. Вам нужно добавить все остальные
Обсуждают сегодня