MongoDB复制集初识与搭建

复制集的概念、特点、优势、搭建:

传统主从结构Master/Slave演变而来的-----》复制集

概念

复制集是由一组拥有 【相同数据集】 的mongod实例所组成的集群

两类节点:

                (1)数据节点:存储数据,可以充当主从节点

                (2)投票节点:负责选举,不存储数据,不能充当主从节点

一个复制集只能有一个主节点,主节点接收所有来自客户端的写操作,读操作需要配置,因为数据复制有延迟,看业务,主节点通过将所有的数据集的变动记录到【oplog(记录写操作,不记录读操作)】中,从节点通过主节点的oplog来进行复制操作。

特点

数据一致性

1、主是唯一的但不一定是固定的,没有mysql那样的双主结构

2、大多数原则 ,当集群存活节点【复制集中健康节点】 小于等于1/2【总数】 时集群不可写,只可读,当大于时才会选举

【是否能选举出新的主节点是由当前复制集成员存活数量决定的,并不一定需要投票节点】

【复制集的服务器挂掉一半就没法选举了,将全部降为从节点】

3、从库无法写入,能写的只有一个【writenetwork大致这么读】线程

4、自动容灾

优势

提供数据冗余的同时增加了高可用,在高级集群结构sharding(分片)中扮演着不可或缺的角色

搭建

(1)mongodb的安装请查看另一文章,这里在原有基础稍微改动,但大致不变,在mongodb目录下新建三个目录:data、log、conf

(2)在conf目录下新建28001.conf,28002.conf、28003.conf写入如下配置文件

port      = 28001

bind_ip = 192.168.3.12

logpath = /usr/local/mongodb/log/28001.log

logappend = true

dbpath = /usr/local/mongodb/data/28001/

fork      = true

pidfilepath = /usr/local/mongodb/data/28001/28001.pid

oplogSize  = 2 * 1024

replSet      = lenovo

port      = 28002

bind_ip = 192.168.3.12

logpath = /usr/local/mongodb/log/28002.log

logappend = true

dbpath = /usr/local/mongodb/data/28002/

fork      = true

pidfilepath = /usr/local/mongodb/data/28002/28002.pid

oplogSize  = 2 * 1024

replSet      = lenovo

port      = 28003

bind_ip = 192.168.3.12

logpath = /usr/local/mongodb/log/28003.log

logappend = true

dbpath = /usr/local/mongodb/data/28003/

fork      = true

pidfilepath = /usr/local/mongodb/data/28003/28003.pid

oplogSize  = 2 * 1024

replSet      = lenovo

(3)启动实例

/usr/local/mongodb/bin/mongod  -f  /usr/local/mongodb/conf/28001.conf

/usr/local/mongodb/bin/mongod  -f  /usr/local/mongodb/conf/28002.conf

/usr/local/mongodb/bin/mongod  -f  /usr/local/mongodb/conf/28003.conf

键入指令查看   ps -ef | grep mongo

(4)配置复制集的初始化文件

登录mongodb shell  

/usr/local/mongodb/bin/mongo  192.168.3.12:28001/admin  【回车】

config = {

          _id:"lenovo_sws",

          members:[

                                {_id:0,host:"192.168.3.12:28001"},

                                {_id:1,host:"192.168.3.12:28002"},

                                {_id:2,host:"192.168.3.12:28003"}

           ]

}【回车】

修改端口为28003的实例为arbiter节点

config.members[2] = {"_id":2,"host":"192.168.3.12","arbiterOnly":true}

最后初始化: rs.initiate(config)

返回: { "ok" : 1 }

此时你可以按下回车,左下的角标已经变成了  lenovo_sws:SECONDARY>【复制集的名称 + 冒号 +当前结点的状态  来表示】

查看状态:rs.status()

这就说明复制集已经搭建好了,【一主一从一仲裁模式】,下一步验证复制集同步

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容