文档章节

复制集要点

晨曦断罪
 晨曦断罪
发布于 2016/12/28 12:47
字数 949
阅读 2
收藏 0

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=true

server-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=true

server-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 1
2 2
3 2
4 3
5 3
6 4
7 4

下面推荐两种配置:
(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 针对用途仅仅是处理数据备份或者是离线的批量任务
注意:此操作不可恢复

© 著作权归作者所有

上一篇: Mongodb聚合
下一篇: MongoDB分片
晨曦断罪
粉丝 0
博文 16
码字总数 12398
作品 0
石家庄
程序员
私信 提问
mongodb之master/slave模式 + auth

## 主从带认证: 主服务器和从服务器必须开启安全认证:--auth, 主服务器和从服务器的admin数据库中必须有全局用户, 然后主服务器的local数据库和从服务器的local数据均有名为repl且密码相同的...

lovelace521
2018/06/26
0
0
NGUI制作ScrollView详解

教程说明 版本:NUGI 3.5.1 1、创建NGUI对象 2、创建ScrollView对象 3、为ScrollView添加UIGrid控件(要点1后面会说明) 4、给ScrollView添加滚动包含的对象,避免太复杂没法把握制作原理,只用...

chenyy1203
2018/06/28
0
0
关系数据库设计理论-->3NF

函数依赖 1.函数依赖定义 A-> B,即 “ A函数决定B ” ,A称为决定因素。 2.关系的键码、超键码 属性函数决定关系R的所有其它属性,并且该属性的任何真子集都不能函数决定R的所有其它属性,...

日久不生情
2017/11/15
0
0
GPU高级调试与优化(2018SH)

[纠正上一版本小错误,重新发送,如有打扰,请原谅] GPU的历史很短,只有十几年。但它发展迅猛,凭借强大的并行计算能力和高效率的固定硬件单元,在人工智能、虚拟和增强现实(VR/AR)、3D游...

pcb4jr
2017/12/27
0
0
ppt幻灯片如何与母版背景一块复制到新幻灯片

我们有一个漂亮的ppt模版,如果想复制到一个新的幻灯片中去,只复制其中的一张或者多张,如果直接复制的话,大家看到可能就直说其中的文字跟图片,背景缺没有了,下面由魅力网络告诉大家方法...

yeybz
2018/06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部