MongoDB 分片副本集集群搭建

本文详细介绍如何在三台机器上搭建MongoDB分片副本集集群,包括配置准备、启动MongoDB实例、设置副本集、分片及验证过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MongoDB 分片副本集集群搭建

配置准备:

三台机器:

A(193.168.10.101) 

B(193.168.10.102)

C(193.168.10.103)

 

MongoDB 安装目录:/usr/local/mongodb
MongoDB 数据库目录:/usr/local/mongodb/data

MongoDB 日志目录:/usr/local/mongodb/log
MongoDB 配置文件:/usr/local/mongodb/conf/mongodb.conf

每台机器上都安装好mongodb

 

配置过程:

启动mongo实例

三台机器上分别启动

./mongod --logpath /usr/local/mongodb/logs/a/r0.log --logappend --dbpath /usr/local/mongodb/data/a/r0 --journalCommitInterval 300 --port 10000 --shardsvr --replSet setA --rest  --oplogSize 64 --fork

./mongod --logpath /usr/local/mongodb/logs/b/r0.log --logappend --dbpath /usr/local/mongodb/data/b/r0 --journalCommitInterval 300 --port 20000 --shardsvr --replSet setB --rest  --oplogSize 64 --fork

./mongod --logpath /usr/local/mongodb/logs/c/r0.log --logappend --dbpath /usr/local/mongodb/data/c/r0 --journalCommitInterval 300 --port 30000 --shardsvr --replSet setC --rest  --oplogSize 64 --fork

./mongod --configsvr --logpath /usr/local/mongodb/logs/configServer/r0.log --logappend --dbpath /usr/local/mongodb/data/configServer/r0  --port 40000 --fork

./mongos --configdb 193.168.10.101:40000,193.168.10.102:40000,193.168.10.103:40000 --logpath /usr/local/mongodb/logs/serverlogs/mongos.log --logappend --port 50000 --fork

 

设置副本集

./mongo 193.168.10.101:10000
rs.initiate({_id : "setA", members : [{_id : 0, host : "193.168.10.101:10000"}]})
rs.add("193.168.10.102:10000")
rs.add("193.168.10.103:10000")

./mongo 193.168.10.101:20000
rs.initiate({_id : "setB", members : [{_id : 0, host : "193.168.10.101:20000"}]})
rs.add("193.168.10.102:20000")
rs.add("193.168.10.103:20000")

./mongo 193.168.10.101:30000
rs.initiate({_id : "setC", members : [{_id : 0, host : "193.168.10.101:30000"}]})
rs.add("193.168.10.102:30000")
rs.add("193.168.10.103:30000")
可以自己设置哪个是主节点
cfg
=rs.status() //查看节点顺序 ...... cfg.members[0].priority = 1 cfg.members[1].priority = 1 cfg.members[2].priority = 2 //设置为2的为主节点 rs.reconfig(cfg)

分别进入两个从节点进行配置(setA setB setC每个的从节点都需要)

db.getMongo().setSlaveOk() //设置从节点为只读

 

设置分片

//设置分片 从50000路由端口进入
./mongo 193.168.10.101:50000

sh.addShard("setA/193.168.10.101:10000,193.168.10.102:10000,193.168.10.103:10000");

sh.addShard("setB/193.168.10.101:20000,193.168.10.102:20000,193.168.10.103:20000");

sh.addShard("setC/193.168.10.101:30000,193.168.10.102:30000,193.168.10.103:30000");

验证

printShardingStatus()

 

posted @ 2019-02-28 15:17 青衫仗剑 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值