Start empty nodes, and run on one of them:
rs.initiate( {
_id : "replica.name",
members: [
{ _id: 0, host: "mongo-n01.example.lan:27017" },
{ _id: 1, host: "mongo-n01.example.lan:27017" },
{ _id: 2, host: "mongo-n01.example.lan:27017" }
]
})
You can use state.js, by running:
mongo state.js --quiet
rs.printSlaveReplicationInfo()
var cfg = rs.config();
var member = cfg.members[<node number>];
printjson(member)
member.priority = 1;
member.hidden = false;
member.votes = 1;
rs.reconfig(cfg)
var cfg = rs.config();
var member = cfg.members[<node number>];
printjson(member)
member.priority = 0;
member.hidden = true;
member.votes = 0;
rs.reconfig(cfg)
var cfg = rs.config();
var member = cfg.members[0];
member
member.priority = 1;
member.hidden = false;
member.votes = 1;
var member = cfg.members[4];
member
member.priority = 0;
member.hidden = true;
member.votes = 0;
rs.reconfig(cfg)
Add a new node (nonvoting, hidden)
rs.add( { host: "mongodb3.example.net:27017", priority: 0, votes: 0, hidden: true } )
db.getSiblingDB("admin").createUser(
{
"user" : "admin",
"pwd" : "clear_text_PW",
roles: [ { "role" : "clusterAdmin", "db" : "admin" },
{ role: "userAdminAnyDatabase", db: "admin" } ]
}
)
openssl rand -base64 756 > <path-to-keyfile>