- 在每个节点上分别通过rpm安装包安装mongod服务
- 修改每个节点的/etc/mongod.conf配置文件的副本集相关配置,如下:
#bindIp是绑定的ip信息,默认只能通过127.0.0.1连接,生产环境建议设置成虚机具体的ip
net.bindIp: 0.0.0.0
#每个节点的上副本集名字必须保持一致
replication.replSetName: myrs
- 启动每个节点的mongod服务
systemctl start mongod
- 选择一个节点登录mongodb服务,配置副本集信息,优先级最大的会成为主
conf=
{
"_id" : "myrs",
"members" : [
{ "_id" : 0, "host" : "10.0.44.63:27017","priority":0, "hidden":true},
{ "_id" : 1, "host" : "10.0.44.29:27017","priority":1},
{ "_id" : 2, "host" : "10.0.44.32:27017","priority":2}
]
}
- 初始化副本集
rs.initiate(conf)
- 查看副本集状态
rs.status()
- 初始化用户(适用于3.6.x版本)
db.createUser({user:"root",pwd:"root",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"dbAdminAnyDatabase",db:"admin"},{role:"clusterAdmin",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"}]})
注意:增加用户时要use admin;
- 在1个节点 上生成kefile,然后复制到其他两个节点上
openssl rand -base64 745 >/var/lib/mongo/mongo-keyfile
chmod 600 /var/lib/mongo/mongo-keyfile
注:每个节点的kefile要保持一致,有了keyfile就自动开启了用户认证
- 修改三个节点的mongod关于keyfile的配置
security.keyFile: /var/lib/mongo/mongo-keyfile
- 分别重启三个副本集。