#mongodb
#mongodb
Вопрос:
Я использую 64-разрядный MongoDB и прохожу тестирование на нескольких сегментах. Если я сохраню несколько сегментов на одном компьютере. Он работает нормально, но если я сохраняю осколки на другом компьютере, его не удалось разделить на второй осколок. Я ограничил размер первого сегмента до 10 МБ, как только он достигнет ограниченного размера в первом сегменте, он должен начать сегментирование на второй сегмент, но этого не происходит.Вместо этого не удалось сохранить во втором сегменте обновление до первого сегмента. Ниже приведены сведения о моем сегменте. В моей среде изначально у меня есть два сегмента. Первый сегмент находится на моей первой машине, запущенной вместе с моим приложением. Второй сегмент находится на моей второй машине. Конфигурация следующая: — *) На обоих моих сегментах, сервере сегментов, configserver, mongos и я подключили mongo через mongos следующим образом./mongo hostname:27017/admin и я добавили оба сегмента в первый и второй сегменты и включили сегментирование для уровня базы данных и коллекции с помощью shard-ключ. Пожалуйста, дайте мне знать, если я ошибся где-нибудь в конфигурации.
Заранее спасибо,
Ответ №1:
Ваш пост может потребовать некоторого редактирования, это очень сложно читать.
Похоже, у вас есть 2 машины. На каждой машине у вас есть:
mongod
процесс, выступающий в качестве одного сегментаmongod
процесс, выступающий в качестве конфигурацииmongos
процесс- копия вашего приложения, подключающегося к
localhost:27017/admin
Пожалуйста, дайте мне знать, если я ошибся где-нибудь в конфигурации.
Здесь возможно несколько проблем. Пожалуйста, проверьте следующее:
- У вас может быть только 1 или 3 процесса настройки. Похоже, у вас есть 2, это не сработает.
- Когда вы подключаетесь к
localhost:27017/admin
вы подключаетесь кmongos
илиmongod
? Любой из них может быть запущен на этих портах. Можете ли вы указать порты для каждого процесса, чтобы помочь уточнить? Необходимо подключитьсяmongos
, иначе сегментирование не произойдет. - Пожалуйста, посмотрите на журналы, они обычно имеют выходные данные, указывающие, что делает сервер. Если нет никаких признаков «разделения» или «фрагментов», возможно, ваша база данных настроена неправильно.
Лучше всего начинать сверху и тестировать каждую часть по одному.
Комментарии:
1. Привет, вице-президент @Gates, спасибо за вашу ценную информацию. Я сожалею, что у моего поста есть некоторые сложности для чтения.
2. Ниже приведены мои данные о портах: — sharserver -> 10001, configserver -> 20001, mongos -> Подключен к порту configserver: 20001. Mongos, работающий на порту по умолчанию: 27017 [Порт не указан]. Это сведения о портах, которые я использую на каждых трех машинах. Пожалуйста, дайте мне знать, если я использовал неправильный. Еще раз спасибо за вашу помощь.