MongoDB シャーディングクラスタの構築方法
MongoDB シャーディング クラスタを構築するには、以下の手順が必要になります。
- 各ノードでMongoDBをインストールします。この際、各ノードのMongoDBのバージョンが同じことを確認します。
- configサーバを作成する: 設定サーバとしてノードを一つ選ぶ. そのノード上でディレクトリを作成し,–configsvrのオプションを使ってMongoDBをconfigサーバとして起動する.
mongod --configsvr --dbpath <config_server_path> --port <config_server_port>
- シャードサーバを作成します。残りのノードでMongoDBをシャードサーバとして起動します。各ノードのMongoDBインスタンスは、–shardsvrオプションを使用する必要があります。
mongod --shardsvr --dbpath <shard_server_path> --port <shard_server_port>
- コンフィギュレーションサーバへの接続:mongo shellを使用してコンフィギュレーションサーバに接続し、次のコマンドを実行してコンフィギュレーションサーバを初期化します。
mongo --port <config_server_port>
> config = { _id: "config_server", members: [ { _id: 0, host: "<config_server_host>:<config_server_port>" } ] }
> rs.initiate(config)
- シャードサーバーへの接続:任意のシャードサーバーにmongo shellで接続し、以下のコマンドを実行してシャードサーバーを初期化します。
mongo --port <shard_server_port>
> rs.initiate()
- シャードの追加:任意のシャードサーバーに接続したMongoシェルで、次のコマンドを実行してシャードをクラスターに追加します。
> sh.addShard("<shard_server_host>:<shard_server_port>")
- シャード化の有効化: モングシェルでコンフィグサーバに接続されている場合、以下のコマンドを実行することでシャード化が有効化されます。
> sh.enableSharding("<database_name>")
> sh.shardCollection("<database_name>.<collection_name>", { "<shard_key>": "hashed" })
シャードの追加とシャード化の有効化の前に、すべてのノードが起動し、相互にアクセスできることを確認してください。
MongoDBシャードクラスタを構築するためには、上記の基本手順を実行する必要がありますが、実際のニーズに合わせて具体的な構成とパラメータを調整することができます。