基于docker的mongodb副本集replSet搭建

`副本集replSet`
mongo副本集/复制集是mongo高可用性特征之一,是有自动故障恢复功能的主要集群。由一个Primary节点和一个或多个Secondary节点组成。
Mongodb客户端的所有数据都写入Primary,Secondary从Primary同步写入的数据,来保持复制集内所有成员存储相同的数据集,提供数据的高可用。
`副本集的原理`
主节点记录所有的变更到oplog日志。
辅助节点(Secondary)复制主节点的oplog日志并且将这些日志在辅助节点进行重放
各个节点之间会定期发送心跳信息,一旦主节点宕机,则触发选举一个新的主节点,剩余的辅助节点指向新的主。
10s内各辅助节点无法感知主节点的存在,则开始触发选举。
通常1分钟内完成主辅助节点切换,10-30s内感知主节点故障,10-30s内完成选举及切换。

1、启动容器

bs create mongodb
bs ps

启动容器

说明:分别启动三个mongodb容器,分别为node1,node2,node3。

2、进入容器

docker exec -it mongodb_node1_1 bash
docker exec -it mongodb_node2_1 bash
docker exec -it mongodb_node3_1 bash

3、分别在三个容器安装mongodb

apt update
apt upgrade
apt install mongodb -y

4、修改配置文件,配置副本集
node1

dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 0.0.0.0
port = 27017
replSet = mycluster/172.18.62.38:27017
journal=true

node2

dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 0.0.0.0
port = 27017
replSet = mycluster/172.18.62.39:27017
journal=true

node3

dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 0.0.0.0
port = 27017
replSet = mycluster/172.18.62.23:27017
journal=true

5、启动服务

/etc/init.d/mongodb start

服务启动
6、初始化副本集

>config = 
		{
			_id: 'mycluster', 
			members: 
			[
				{
					"_id":1,
					"host":"172.18.62.23:27017",
					priority: 3
				},
				
				{
					"_id":2,
					"host":"172.18.62.38:27017",
					priority: 2
				},
				
				{
					"_id":3,
					"host":"172.18.62.39:27017",
					priority: 1
				}
			]
		}	

初始化副本集
初始化副本集完成

node1选为主
node1
node2为从
node2
node3为从
node3
7、测试
数据验证

use market
show dbs
db.createCollection("tb1")
show collections

node1
node2
node3
主从切换验证
停掉主库

/etc/init.d/mongodb stop

主从停掉
查看从库状态
主从切换
主从切换
启动主库

/etc/init.d/mongodb start

启动主库
查看从库状态
主从切换
主从切换
到此,主从副本集replSet搭建完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值