私は数週間mongoを使用しており、開発環境を構築しています。単一ノードから開始し、シャード クラスターに移行しました。次に、レプリケートされたシャード クラスターに移行したいと考えています。私が読んだところによると、レプリケートされたシャード クラスターは、スケーラビリティ、耐久性、パフォーマンスの向上など、最高のものです。
私は彼らのヘルプで (非常に良い) チュートリアルのほとんどを読みました。彼らのレッスンでは、単一ノードからレプリカ セット、シャード レプリカ セットに移行するようアドバイスされているようですが、残念ながら私が行った方法とは逆です。シャード クラスターをレプリケートされたシャード クラスターにアップグレードする方法が見つからないようです。
私が持っている5つのホストは次のとおりです。
- アプリケーションサーバー
- 構成サーバー
- シャード1
- シャード2
- シャード3
各シャード サーバーを次のように起動しました。
mongod --shardsvr
次に、構成サーバーを次のように起動しました。
mongod --configsvr
次に、APPSERVERでmongosプロセスを開始しました:
mongos --configdb CONFIGSERVER
次に、mongos でシャードを追加し、データベースでシャーディングを有効にして、コレクションのシャードキーを定義しました。
sh.addShard("SHARD1:27018");//again for 2 and 3
sh.enableSharding("beacon");
sh.shardCollection("beacon.alpha2", {"ip":1});
各シャードを他の 2 つのそれぞれにレプリケートする必要があります。(右?) シャードの mongod プロセスを停止し、別の CL パラメータで再起動する必要がありますか? レプリケートするには、mongos シェルでどのコマンドを発行する必要がありますか? すべてのデータをエクスポートし、すべてを削除して再起動し、再インポートする必要がありますか? 繰り返しになりますが、レプリカ セットの作成方法に関するチュートリアルはたくさんありますが、最初にシャード システムを使用してレプリカ セットを作成する方法については何も見ていません。
ありがとう!