前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mongo部署副本集

Mongo部署副本集

作者头像
Yuou
发布2022-09-26 15:13:48
2890
发布2022-09-26 15:13:48
举报
文章被收录于专栏:乱七八糟技术日常

部署副本集

1.0 更改Mongo配置文件
代码语言:javascript
复制
[root@localhost mongo]# vim conf/mongo.conf
port=27017
fork=true
logpath=/usr/local/mongo/logs/mongodb.log
logappend=true
dbpath=/usr/local/mongo/data
replSet=rs0 # 加入副本集名称,此名称要一致

启动Mongo

代码语言:javascript
复制
[root@localhost mongo]# mongod -f conf/mongo.conf 
1.1 主Mongo配置
代码语言:javascript
复制
[root@localhost mongo]# mongo
> conf=
    {
    "_id" : "rs0",
    "members" : [
        { "_id" : 0, "host" : "172.17.100.193:27017" },
        { "_id" : 1, "host" : "172.17.100.191:27017" }
        ]
    }
# 填写mongo的ip地址即可
> rs.initiate(conf) # 初始化副本集
{ "ok" : 1 } # 如果出现ok1则表示成功
1.2 副本集更新
代码语言:javascript
复制
# 向副本集中添加成员
rs.add("172.17.100.191:27017")
 
# 从副本集中删除成员
rs.remove("172.17.100.191:27017")
 
# 向副本集中添加仲裁
rs.addArb("172.17.100.191:27017")
 
# 向副本集中添加备份节点
rs.add({"_id":3,"host":"172.17.100.191:27017","priority":0,"hidden":true})  // _id请依次递增
1.4 更新副本集优先级
代码语言:javascript
复制
cfg = rs.conf()
cfg.members[0].priority = 5  #  设置权重为5
# members[0]里面填写你要更改的节点数字 id是1就写1 是2就设置2
rs.reconfig(cfg) # 重新加载配置
1.5 查看副本集状态
代码语言:javascript
复制
rs0:PRIMARY> rs.status()
1.6 查看副本集的配置信息
代码语言:javascript
复制
rs0:PRIMARY> rs.conf()
1.7 查看节点复制信息
代码语言:javascript
复制
rs0:PRIMARY> db.printSlaveReplicationInfo()
1.8 插入测试数据
代码语言:javascript
复制
rs0:PRIMARY> for(var i=0;i<10000;i++){db.customer.insert({"name":"user"+i})}
WriteResult({ "nInserted" : 1 })
rs0:PRIMARY> db.customer.count()
10000
#  在Secondary上查看客户数据是否已经同步:
rs0:SECONDARY> rs.slaveOk()
rs0:SECONDARY> db.customer.count()
10000

开启安全验证

先停止从上面的mongo然后在停止主上面的mongo

  • 在master上进行操作
2.0 创建用户
代码语言:javascript
复制
rs0:PRIMARY> use admin
rs0:PRIMARY> db.createUser({user: 'root', pwd: '123.com', roles: ['root']}) 
#  创建root用户并且给予root权限,密码为123.com
代码语言:javascript
复制
# 例如对某个库授权
rs0:PRIMARY> use test
rs0:PRIMARY> db.createUser({user:"admin",pwd:"admin",roles:[{role:"readWrite",db:"test"}]})
# role角色具体可以看官网的分配权限
# db: 指定授权的库
2.1 创建秘钥文件
代码语言:javascript
复制
[root@localhost mongo]# openssl rand -base64 666 > /usr/local/mongo/keyfile

将生成的keyFile文件拷贝到其他节点服务器上,并修改文件的操作权限为 600

代码语言:javascript
复制
# 更新启动配置文件,master上配置
[root@localhost mongo]# vim conf/mongo.conf 
auth=true
oplogSize=100
keyFile=/usr/local/mongo/keyfile
代码语言:javascript
复制
# 更新启动配置文件,slave上配置
[root@localhost mongo]# vim conf/mongo.conf 
oplogSize=100
keyFile=/usr/local/mongo/keyfile
2.2 启动副本集
代码语言:javascript
复制
[root@localhost mongo]# mongod -f /usr/local/mongo/conf/mongo.conf
# 先开master
[root@localhost mongo]# mongod -f /usr/local/mongo/conf/mongo.conf 
# 然后再从上开启服务,不加auth认证
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 部署副本集
    • 1.0 更改Mongo配置文件
      • 1.1 主Mongo配置
        • 1.2 副本集更新
          • 1.4 更新副本集优先级
            • 1.5 查看副本集状态
              • 1.6 查看副本集的配置信息
                • 1.7 查看节点复制信息
                  • 1.8 插入测试数据
                  • 开启安全验证
                    • 2.0 创建用户
                      • 2.1 创建秘钥文件
                        • 2.2 启动副本集
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档