2012-05-01 5 views
1

У меня есть коллекция mongo на farm1-server1, и мне удалось реплицировать ее на farm2-server1 - путь db/db/data. farm2-server1 является частью 3-х серверов, и я хочу очертить коллекцию, которую я только что реплицировал между всеми тремя серверами. Для этого я остановил репликацию на сервере server1, начал mongod (на порт 27017) и указал на коллекцию, которую я реплицировал (/ db/data). Я также добавил директиву: configsvr = true.Shard Existing Collection - MongoDB

Я начал mongos и добавил следующую директиву configdb = server1: 27017

Тогда я начал процессы осколка (mongod) на каждом из сервера 1-3 с директивой: shardsvr = истинная

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

Я прочитал, что существующие коллекции могут быть отложены, поэтому я должен что-то делать неправильно. Любая помощь приветствуется. Я могу предоставить файлы конфигурации.

Спасибо, Ноам

ответ

0

Похоже, вы пропустили несколько шагов - вы должны

  1. добавить Осколки
  2. позволяют Sharding
  3. шард коллекцию

http://www.mongodb.org/display/DOCS/Configuring+Sharding#ConfiguringSharding-ConfiguringtheShardCluster

+0

Спасибо, но моя проблема в том, что даже перед попыткой очертить коллекцию при запуске shard1 в качестве configdb он не распознает существующую коллекцию, которую я хочу очертить. –