1つのサーバーに複数のポートを備えたmongodbサービスのコピーを作成します
1つは、レプリカセットを作成する
1.フォルダを作成します
C:\MongoDB\Server\bin> mkdir C:\MongoDB\mdb0
C:\MongoDB\Server\bin> mkdir C:\MongoDB\mdb1
C:\MongoDB\Server\bin> mkdir C:\MongoDB\mdb2
2.サーバーポートを
閉じ、Windows PowerShell
を管理者として開きます。以下はすべて管理者として開いています。サーバーを
閉じないと、サーバーとして起動します。4番目の手順で、構成の初期化中にエラーが発生し、「このノードはreplSetオプションで起動されませんでした」というプロンプトが表示されます。 「
ステップ2から再開します
C:\Windows\system32> net stop mongodb
3. mongodbサービスを手動で実行します。3つのサービスポートすべてを実行する必要があります。
新しいWindowsPowerShellを開き、インストールディレクトリに入ります。サービスを実行します(3つの独立したシェル)
C:\MongoDB\Server\bin> ./mongod --replSet mdb --port 27017 --dbpath C:\MongoDB\mdb0 --smallfiles --oplogSize 128
C:\MongoDB\Server\bin> ./mongod --replSet mdb --port 27018 --dbpath C:\MongoDB\mdb1 --smallfiles --oplogSize 128
C:\MongoDB\Server\bin> ./mongod --replSet mdb --port 27019 --dbpath C:\MongoDB\mdb2 --smallfiles --oplogSize 128
サーバー接続はOK状態である必要があります。そうでない場合、プロセスは終了し(操作手順を参照)、mongodbサービスが再起動されます。
4.mongoに入るように新しいシェルを構成します
C:\MongoDB\Server\bin> ./mongo --port 27017
rs.initiate()はレプリカセットオブジェクトを初期化します
MongoDB Enterprise > rs.initiate({_id:'mdb',members:[
... {_id:0,host:'127.0.0.1:27017'},
... {_id:1,host:'127.0.0.1:27018'},
... {_id:2,host:'127.0.0.1:27019'}]})
結果
{
"ok" : 1,
"operationTime" : Timestamp(1576656206, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1576656206, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
レプリカノードを読み取り可能に設定し、mongo 27018、27019と入力し、それぞれ実行して情報を取得します
db.getMongo().setSlaveOk()
接続ステータスを表示する
MongoDB Enterprise mdb:PRIMARY> rs.status()
マスターコピーを表示
MongoDB Enterprise mdb:PRIMARY> db.isMaster()
2、レプリカセットを増やします
a)フォルダを作成します:C:\ MongoDB \ Server \ bin> mkdir C:\ MongoDB \ mdb3
b)ポートを開くサービスを作成します:新しいウィンドウシェル./mongod --replSet mdb --port 27020 --dbpath C:\ MongoDB \ mdb3 --smallfiles --oplogSize 128
c)レプリカセットを増やします。MongoDBEnterprisemdb:PRIMARY> rs.add( '127.0.0.1:27021')
3.レプリカセットを削除します。
a)新しいWindowsシェルを作成し、レプリカノードに入り、サービスを無効にします
C:\ MongoDB \ Server \ bin> ./mongo --port 27020
MongoDB Enterprise mdb:SECONDARY> use admin
MongoDB Enterprise mdb:SECONDARY> db.shutdownServer()
b)対応するノード
MongoDB Enterprise mdb:PRIMARY> rs.remove( '127.0.0.1:27020')をメインサーバーから削除します
マスタースレーブを変更する
a)構成を取得し、優先度を変更して、黒の認識の重みを変更します
conf=rs.config()
conf.members[0].priority=10
conf.members[1].priority=5
conf.members[2].priority=1
rs.reconfig(conf)