2013-02-13 15 views
7

私のマシン上で実行されている3つのmongodデモレプリケーションサーバがあります。私は27111ポート、27113ポート上の27112ポートとTEST3にTEST2にTEST1している。このようmongoDBのセット名が一致しません

F:\>mongod --replSet test2 --dbpath 2 --port 27112 --oplogSize 50 --logpath log.2 --logappend 
all output going to: log.2 

:私は、複製サーバーを作成するには、次のコマンドを使用していました。ただし、設定時にエラーが発生しています:

cfg = { 
     "_id" : "test1", 
     "members" : [ 
       { 
         "_id" : 0, 
         "host" : "localhost:27111" 
       }, 
       { 
         "_id" : 1, 
         "host" : "localhost:27112" 
       }, 
       { 
         "_id" : 2, 
         "host" : "localhost:27113" 
       } 
     ] 
} 
> rs.initiate(cfg) 
{ 
     "errmsg" : "couldn't initiate : set name does not match the set name host localhost:27112 expects", 
     "ok" : 0 
} 

ここで一致させるにはどうすればよいですか?

答えて

9

実行するすべてのセットに同じ名前を付ける必要があります。私はその後、

mongod --replSet test2 --dbpath 2 --port 27112 --oplogSize 50 --logpath log.2 --logappend 
all output going to: log.2 

私はそのセットにするつもりです他のmongoサーバ実行する場合たとえば は、同じ名前を持つ必要がありtest2"cfg" = { "_id":="test1" }

で使用

0

マシンの名前または127.0.0.1で試してください。 DNS名を使用するのがベストプラクティスです。

+0

は、{ホスト: "127.0.0.1:1:27111を"}試み、それが動作しません。 – sadaf2605

1

名や変数べきそのレプリケーション・セット内のすべてのメンバーについて、パラメータreplSetに対して次の名前で確認してください。

その後の事はlocalhostを受け入れていない、あなた

"start mongod --replSet "test1" --logpath "1.log" --dbpath C:\Replica\rs01 --port 27017 --oplogSize 64 

幸運

ラオ

0

のMongoDBさらにreplicaSetのためにスムーズに動作します。以下のようにさらにreplicaSetにノードを追加しながら、実際のマシン名を使用してみてください:レプリカセットを追加する場合

rs.add("MY_MACHINE_NAME:27017"); 
0

、--replSetは、3つのすべてのために同じでなければなりません。たとえば、プライマリの場合は "rs01"、他の2つの場合も同じでなければなりません。私のために働いた下記

0

手順:この2行は、異なるポートに2つの異なるMongoのインスタンスを起動

mongod --port 27017 --dbpath "C:\MongoDB\data01" --replSet rs0 --bind_ip localhost 
mongod --port 27018 --dbpath "C:\MongoDB\data02" --replSet rs0 --bind_ip localhost 

。 2番目の例では、mongod.confにreplSet = rs0を追加しました。

、このコマンドによってRS0ノードに二次を追加する:

rs.add("localhost:27018") 
関連する問題