docker下搭建mongodb主从

`mongodb简介`
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
`主从复制原理`
主节点会记录写有关的操作,读操作不记录。这些操作记录在local数据库中的oplog.$admin这个集合,这个是一个固定大小的集合,可以修改oplogSize大小,单位MB,一般为磁盘剩余空间的5%。当这个集合空间占满之后,新进来的日志会覆盖最旧的日志。这个值的设定必须注意,否则会出现主从未同步日志就已经被覆盖的风险,导致主从数据不一致。local数据库会有oplog.$admin和slave两个集合。slave记录从节点信息。
从节点会定时去连接主节点,获取主节点的操作日志从而执行主节点一样的操作,从而达到数据同步。从节点的local数据库会有source、me两个集合。source记录主节点信息,me记录从节点标识。

1、准备镜像,启动主从容器
启动mongodb镜像
2、进入容器

docker exec -it mongodb_master_1 bash
docker exec -it mongodb_slave_1 bash

3、在主从容器中安装mongodb

apt update
apt upgrade
apt install mongodb -y

4、修改配置文件

11 bind_ip = 0.0.0.0
12 port = 27017

配置文件修改

说明:主从配置一样即可

5、配置主从

#master配置文件修改
vim /etc/mongodb.conf
81 master = true
#slave配置文件修改
vim /etc/mongodb.conf
76 slave = true
77 source = 172.18.62.23:27017

6、启动服务

/etc/init.d/mongodb start

7、主从验证

#登录数据库
mongo

主从数据验证
主库
从库

说明:从以上可以看到,主库的数据同步到从库,而从库没有写的权限。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值