mongodb主从复制及副本集的部署
admin
2023-02-06 13:20:03
0

一.mongodb配置参数介绍:

[root@host11 tmp]# cat  /etc/mongod.conf 


#以守护进程的方式运行

fork=true


#设置db的路径

dbpath=/usr/local/mongodb/data/db


#设置日志路径

logpath=/usr/local/mongodb/data/log/mongod.log

#logappend:写日志的模式:设置为true为追加。默认是覆盖。如果未指定此设置,启动时MongoDB的将覆盖现有的日志文件。

logappend=true


#设置端口号

port=27017


#在服务的端口号加上1000的端口上启动一个web服务器

rest=true


#打开权限控制体系

#auth=true

二.部署mongodb主从复制:

1.创建master和slave的配置文件:

[root@host11 tmp]# cat /etc/mongod_master.conf 

logpath=/usr/local/mongodb/data/log/mongod_master.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/master

port=10000

rest=true

master=true

#auth=true

#slaveok=true

[root@host11 tmp]#

[root@host11 tmp]# cat /etc/mongod_slave.conf

logpath=/usr/local/mongodb/data/log/mongod_slave.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/slave

port=10001

rest=true

slave=true

#auth=true

source=127.0.0.1:10000

2.启动主从进程;

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/master

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/slave

[root@host11 tmp]mongod -f /etc/mongod_master.conf 

[root@host11 tmp]mongod -f /etc/mongod_slave.conf 

3.检查主从状态:

[root@host11 tmp]# mongo localhost:10000

> db.isMaster();

{

"ismaster" : true,

"maxBsonObjectSize" : 16777216,

"maxMessageSizeBytes" : 48000000,

"maxWriteBatchSize" : 1000,

"localTime" : ISODate("2016-02-28T11:46:54.199Z"),

"maxWireVersion" : 4,

"minWireVersion" : 0,

"ok" : 1

}

> db.printReplicationInfo();

configured oplog size:   990MB

log length start to end: 23821secs (6.62hrs)

oplog first event time:  Sun Feb 28 2016 13:05:17 GMT+0800 (CST)

oplog last event time:   Sun Feb 28 2016 19:42:18 GMT+0800 (CST)

now:                     Sun Feb 28 2016 19:42:20 GMT+0800 (CST)

> db.printSlaveReplicationInfo();

local.sources is empty; is this db a --slave?

> db.getReplicationInfo();

{

"logSizeMB" : 990,

"usedMB" : 0.14,

"timeDiff" : 23871,

"timeDiffHours" : 6.63,

"tFirst" : "Sun Feb 28 2016 13:05:17 GMT+0800 (CST)",

"tLast" : "Sun Feb 28 2016 19:43:08 GMT+0800 (CST)",

"now" : "Sun Feb 28 2016 19:43:18 GMT+0800 (CST)"

}

[root@host11 tmp]# mongo localhost:10001

> db.printReplicationInfo();

this is a slave, printing slave replication info.

source: 127.0.0.1:10000

syncedTo: Sun Feb 28 2016 19:44:18 GMT+0800 (CST)

4 secs (0 hrs) behind the freshest member (no primary available at the moment)


三.副本集的部署:

1.创建各node节点的配置文件:

[root@host11 tmp]# cat /etc/mongod_node1.conf 

logpath=/usr/local/mongodb/data/log/mongod_node1.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/node1

port=20001

rest=true

#auth=true

#slaveok=true

replSet=myrepl

[root@host11 tmp]# cat /etc/mongod_node2.conf 

logpath=/usr/local/mongodb/data/log/mongod_node2.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/node2

port=20002

rest=true

#auth=true

#slaveok=true

replSet=myrepl

[root@host11 tmp]# cat /etc/mongod_node3.conf 

logpath=/usr/local/mongodb/data/log/mongod_node3.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/node3

port=20003

rest=true

#auth=true

#slaveok=true

replSet=myrepl

[root@host11 tmp]# 

2.配置并启动各node服务;

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/node1

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/node2

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/node3

[root@host11 tmp]#mongod -f /etc/mongod_node1.conf 

[root@host11 tmp]#mongod -f /etc/mongod_node2.conf 

[root@host11 tmp]#mongod -f /etc/mongod_node2.conf 

登录mongod:

#设置副本集变量:

> config = { _id:"myrepl", members:[{_id:0,host:"127.0.0.1:20001"},{_id:1,host:"127.0.0.1:20002"},{_id:2,host:"127.0.0.1:20003"}]};

#初始化副本集配置

> rs.initiate(config);


3.检查各node节点状态;

#查看副本集的状态

> rs.status();

#删除节点:

rs.remove("127.0.0.1:20001");

rs.status();

#添加节点:

rs.add("127.0.0.1:20001");

rs.status();

四.至此mongo主从及副本集群部署完成;


相关内容

热门资讯

“与辉同行”带货“皖西麻黄鸡”... 澎湃新闻记者 廖艳 实习生 林霄董宇辉主导的“与辉同行”直播间近日带货一款“大别山黄油母鸡”,因直播...
媒体纵览|守护大美生态的“天眼... 今年1月1日起施行的《生态环境监测条例》提出,构建陆海统筹、天地一体、上下协同、信息共享的生态环境监...
科技昨夜今晨0115:美政府批... “科技昨夜今晨”时间,大家好,现在是 2026 年 1 月 15 日星期四,今天的重要科技资讯有: ...
“哭哭马”戳中了打工人什么? 一只因缝制失误而“表情委屈”的马年节庆玩偶,意外在社交平台走红。“哭哭马”(中间) 图源:新华社微信...
【实探】百台机器人“打工”,规... 训练数据的不足,是机器人应用之路上的一大障碍。 近日,证券时报记者实探湖北人形机器人创新中心。走进这...
美国已正式开始出售委内瑞拉石油 当地时间1月14日,央视记者获悉,一位美国政府官员透露,美国已完成首批委内瑞拉石油的销售。这笔交易价...
死了么APP改名后又撤回!估值... 一款开发成本仅千元的APP,一定没想到在2026年开年,就火遍了全球。 它不仅快霸占中文各大社交媒体...
储殷:“死了么”APP 爆火背... 近日,一款聚焦独居人群安全需求的 “死了么” APP 意外爆红,引发社会对小众需求商业化的广泛讨论。...
云南致5死坍塌事故调查结果:5... 澎湃新闻记者 吕新文云南楚雄一家公司长期违法开挖回采尾矿库,使尾矿堆积外边坡高度不断增加变陡,最后酿...
美国对部分半导体产品加征关税 ... 新华社纽约1月14日电(记者刘亚南 徐静)美国白宫14日发布声明说,美国将从15日起对部分进口半导体...