1.If your application is connecting directly to the secondary, modify the application so that MongoDB queries don’t reach the secondary.
2.Shut down the secondary.
3.Remove the secondary from the replica set by calling the rs.remove() method. Perform this operation while connected to the current primary in the mongo shell:
rs.remove("<hostname><:port>")
4.Verify that the replica set no longer includes the secondary by calling the rs.conf() method in the mongo shell:
rs.conf()
5.Move the secondary’s data directory to an archive folder. For example:
mv /data/db /data/db-old
6.Create a new, empty data directory to point to when restarting the mongod instance. You can reuse the previous name. For example:
mkdir /data/db
7.Restart the mongod instance for the secondary, specifying the port number, the empty data directory, and the replica set. You can use the same port number you used before. Issue a command similar to the following:
mongod --port 27021 --dbpath /data/db --replSet rs
8.In the mongo shell convert the secondary to an arbiter using the rs.addArb() method:
rs.addArb("<hostname><:port>")
9.Verify the arbiter belongs to the replica set by calling the rs.conf() method in the mongo shell.
rs.conf()
The arbiter member should include the following:
"arbiterOnly" : true
将Secondary成员转变为Arbiter成员
最新推荐文章于 2022-05-13 15:37:46 发布