mongodb副本集实践
来源:互联网 发布:教学录像软件 编辑:程序博客网 时间:2024/05/17 06:03
**MongoDB副本集(replica set):**
MongoDB不推荐使用主从复制模式,最为显著的区别在于,副本集没有固定的主数据库,它是整个集群中选举出一个当主节点,当其不工作的时候变更其他节点,因此具有自动故障恢复功能。主从复制模式没有类似于只有一个副本的情况,区别是主从模式不能够在主服务器宕机的时候进行自动切换,而副本集可以进行自动切换,保证数据的完整性。
副本集结构图:
- 创建数据文件存储路径:
mkdir -p /mongodb/data/A
mkdir -p /mongodb/data/B
mkdir -p /mongodb/data/C - 创建日志文件路径:
mkdir -p /mongodb/log 创建配置文件:
3.1 >vim /etc/A.conf
dbpath = /mongodb/data/A
logpath=/mongodb/log/dblogA
port = 1111 #端口
bind_ip = 127.0.0.1 #服务地址
replSet = rp01/127.0.0.1:2222 #设定同伴 rp01为集群名称
fork=true #后台运行
3.2 >vim /etc/B.conf
dbpath = /mongodb/data/B
logpath=/mongodb/log/dblogB
port = 2222
bind_ip = 127.0.0.1
replSet = rp01/127.0.0.1:3333
fork=true #后台运行
3.3 >vim /etc/C.conf
dbpath = /mongodb/data/C
logpath=/mongodb/log/dblogC
port = 3333
bind_ip = 127.0.0.1
replSet = rp01/127.0.0.1:1111
fork=true #后台运行启动三台服务器:
mongod –config /etc/A.conf
mongod –config /etc/B.conf
mongod –config /etc/C.conf- shell下链接三台副本集合:
mongo 127.0.0.1:1111
mongo 127.0.0.1:2222
mongo 127.0.0.1:3333 - 在其中任何一个副本及中配置初始化:
config = {_id: ‘rp01’, members: [{ #rp01为本副本集名
“_id”:1,
“host”:”127.0.0.1:1111”
},{
“_id”:2,
“host”:”127.0.0.1:2222”
},{
“_id”:3,
“host”:”127.0.0.1:3333”
}]
}
rs.initiate(config);
节点和初始化高级参数:
standard 常规节点:参与投票有可能成为活跃节点
passive 副本节点:参与投票,但是不能成为活跃节点
arbiter 仲裁节点:只是参与投票不复制节点也不能成为活跃节点
高级参数
Priority 0到1000之间 ,0代表是副本节点 ,1到1000是常规节点
arbiterOnly : true 仲裁节点
用法
members”:[{
“_id”:1,
“host”:”127.0.0.1:1111“,
arbiterOnly : true
}]”
- 三个客户端前缀变化:
rp01:PRIMARY>
rp01:SECONDARY>
rp01:SECONDARY>
可以在主副本集中查看副本集合的状态(本例只用了两个副本集1111,2222):rs.status()
搭建完毕,来进行验证
主从服务器数据是否同步,从服务器没有读写权限
a:向主服务器写入数据 ok 后台自动同步到从服务器,从服务器有数据
b:向从服务器写入数据 false 从服务器不能写
c:主服务器读取数据 ok
d:从服务器读取数据 false 从服务器不能读
主服务器操作插入数据:
从服务器默认没有查看数据库信息操作:
需要在从服务器中进行设定:rp01:SECONDARY> db.getMongo().setSlaveOk();或者rs.slaveOk();之后才能查看数据库信息:
关闭主服务器,从服务器是否能顶替
此时你关掉活跃节点的服务。此时你会发现剩余的两台机器有一台变为活跃节点了。
- mongodb副本集实践
- mongodb中的副本集搭建实践
- MongoDB 3.4 分片与副本集实践笔记
- MongoDB 3.4 分片与副本集实践笔记
- mongodb 副本集+分片
- mongodb 系统 副本集
- mongoDB 副本集配置
- Mongodb副本集配置
- mongodb副本集
- Mongodb副本集
- mongodb 副本集 创建
- mongodb 副本集 维护
- mongodb副本集搭建
- Mongodb实现副本集
- mongodb副本集创建
- MongoDB副本集
- Mongodb 实现副本集
- Mongodb副本集测试
- 欧拉函数(数论)
- 缓慢的setfill和setw函数
- 从一道笔试题理解const关键字
- 没有消息比这更好的了
- Android 框架练成 教你打造高效的图片加载框架
- mongodb副本集实践
- 第三周 项目 2 建设“顺序表”算法库(补)
- C++11中std::bind的使用
- Days 17 Fragment
- BZOJ 3209: 花神的数论题 (数位dp)
- 汉诺塔问题
- D - Can you solve this equation? 二分法,精度就求值
- angularjs实现拖拽
- C# 语言新特性 —— C# 6