复制集要点
来源:互联网 发布:南京网络教育本科 编辑:程序博客网 时间:2024/05/17 01:55
1.配置副本集
首先在不同的机器上启动mongod,并编写相应的配置文件mongod.conf
dbpath=localhost/home/mongodb/shard1/data
logpath=localhost/home/mongodb/shard1/log/shard1.log
journal=true
port=22001
replSet=shard1
fork=true
这里副本集名称为shard1 端口号为22001 指明具体的数据及日志存放位置,并启动
server-1>mongod -f mongod.conf
相应的配置好其他的两个示例
dbpath=localhost/home/mongodb/shard1/data
logpath=localhost/home/mongodb/shard1/log/shard1.log
journal=true
port=22002
replSet=shard1
fork=trueserver-2>mongod -f mongod.conf
server-3>dbpath=localhost/home/mongodb/shard1/data
logpath=localhost/home/mongodb/shard1/log/shard1.log
journal=true
port=22003
replSet=shard1
fork=trueserver-3>mongod -f mongod.conf
这时基本操作已做完,下一步配置相应数据,让mongod知道有其他节点存在并属于同一个副本集
随便连接某一个节点:
mongo localhost:22001
mongo>config={
“_id”:”shard1” //副本集的名字
“members”:[
{“_id”:0,”host”:”server-1:22001”}.
{“_id”:1,”host”:”server-2:22002”}.
{“_id”:2,”host”:”server-3:22003”,”arbiterOnly”:true}
]
}
mongo>rs.initiate(config) //初始化副本集
通过重新编写config 然后通过
mongo>rs.reconfig(config)
然后合法更改配置
2.设计副本集
这里必须满足大多数要求 才能选举主节点
注意:当主节点发现已经得不到大多数的支持(集群中一半以上的节点挂掉或者不可达),则主节点会自动降级成备份节点,导致副本集不能使用
怎样才算大多数:
下面推荐两种配置:
(1)将“大多数”成员放置在同一个数据中心
(2)在两个数据中心葛方智数量相等的成员,在第三个地方放置一个用于决定胜负的副本集成员
3.选举机制
遵守大多数规则:
当属于大多数成员中的某个成员投否决票 就相当于-10000张赞成票
希望成为主节点的成员必须复制将自己的数据更新为最新 复制操作是严格按照时间排序的 成员只能“自荐”,不能“推荐”,简单起见。
4.成员配置选项
仲裁者 指的是没有数据读写服务的实例节点 整个复制集只能使用一个仲裁者
可以运行在服务器配置比较差的地方。 可以没有,但只能有一个
如果可能 尽可能在副本集中使用技术哥数据成员,而不要使用仲裁者。
5.优先级
指的是数据成员渴望成为主节点的程度,0~100之间,默认为1
将优先级设为0 :优先级为0的成员永远不能够成为主节点 被称为被动节点
mongo>rs.add({“_id”:4,”host”:”server-4:27017”,”priority”:1.5})
注意:修改副本集配置时,新的配置必须发送给在新配置下可能成为主节点的成员。
因此无法再一次reconfig操作中将当前主节点的优先级设置为0,也不能对所有成员优先级为0的副本集执行reconfig。
6.隐藏成员
只有由优先级为0的数据成员可以被隐藏(不能将主节点隐藏)
mongo>rs.add({“_id”:5,”host”:”server-5:27017”,”priority”:0,”hidden”:true})
也可以通过reconfig设置
7.延迟备份节点
使用slaveDelay选项 要求用户成员优先级为0 并设置隐藏hidden 避免将读请求路由到延迟备份节点 单位s
8.创建索引
指定buildIndex选项为false 要求用户成员优先级为0 针对用途仅仅是处理数据备份或者是离线的批量任务
注意:此操作不可恢复
- 复制集要点
- mysql主从复制要点
- 要点
- 要点
- Activity开发要点合集
- 公用程序集开发要点
- MongoDB复制集自定义复制保证规则
- MongoDB的主从复制与复制集
- MBA管理:绩效管理要点集
- mongodb复制集搭建
- Replica Sets (复制集)
- 复制集概念
- 搭建mongodb复制集
- Mongodb复制集
- mongodb复制集搭建
- mongodb 复制集
- replication复制集
- MongoDb复制-副本集
- 常用的android弹出对话框 几乎包含了所有(1)
- $state.go 传递参数
- 短信验证SMSSDK的使用
- iOS 【Multithreading-GCD 延时执行操作】
- Android 动画相关笔记
- 复制集要点
- MATLAB入门
- C#文件操作
- Linux下的串口继续 转自http://www.cnblogs.com/jason-lu/articles/3173988.html
- 将java web项目转为maven项目
- 关于在eclipse中ADT的安装
- iOS开发代理的实现
- Stackoverflow上人气最旺的10个Java问题
- Centos6.5搭建LDAP服务器及用户添加删除