请教mongodb 删除副本集3.2.1 副本集问题

用户名:sima2004
文章数:254
评论数:96
访问量:181671
注册日期:
阅读量:1297
阅读量:3317
阅读量:584552
阅读量:470006
51CTO推荐博文
一、删除副本集成员spock:PRIMARY&&rs.config()&&&
&&&&&&&&"_id"&:&"spock",&&&&
&&&&&&&&"version"&:&1,&&&&
&&&&&&&&"members"&:&[&&&&
&&&&&&&&&&&&&&&&{&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"_id"&:&0,&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"host"&:&"192.168.1.112:27017"&&&&
&&&&&&&&&&&&&&&&},&&&&
&&&&&&&&&&&&&&&&{&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"_id"&:&1,&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"host"&:&"192.168.1.113:27017"&&&&
&&&&&&&&&&&&&&&&}&&&&
&&&&&&&&]&&&&
spock:PRIMARY&&rs.remove("192.168.1.113:27017")&&&&
&&&&&&&&"errmsg"&:&"exception:&can't&find&self&in&new&replset&config",&&&&
&&&&&&&&"code"&:&13433,&&&&
&&&&&&&&"ok"&:&0&&&&
spock:PRIMARY&&rs.remove("192.168.1.112:27017")&&&&
T21:59:13.303+0800&DBClientCursor::init&call()&failed&&&&
T21:59:13.304+0800&Error:&error&doing&query:&failed&at&src/mongo/shell/query.js:81&&&&
T21:59:13.305+0800&trying&reconnect&to&127.0.0.1:2.0.1)&failed&&&&
T21:59:13.308+0800&reconnect&127.0.0.1:2.0.1)&ok&&&&
spock:PRIMARY&&rs.config()&&&&
&&&&&&&&"_id"&:&"spock",&&&&
&&&&&&&&"version"&:&2,&&&&
&&&&&&&&"members"&:&[&&&&
&&&&&&&&&&&&&&&&{&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"_id"&:&1,&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"host"&:&"192.168.1.113:27017"&&&&
&&&&&&&&&&&&&&&&}&&&&
&&&&&&&&]&&&&
}& &二、添加副本集成员 & spock:PRIMARY&&rs.add("192.168.1.112:27017")&&&&
{&"ok"&:&1&}&&&&
spock:PRIMARY&&rs.config()&&&&
&&&&&&&&"_id"&:&"spock",&&&&
&&&&&&&&"version"&:&3,&&&&
&&&&&&&&"members"&:&[&&&&
&&&&&&&&&&&&&&&&{&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"_id"&:&1,&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"host"&:&"192.168.1.113:27017"&&&&
&&&&&&&&&&&&&&&&},&&&&
&&&&&&&&&&&&&&&&{&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"_id"&:&2,&&&&
&&&&&&&&&&&&&&&&&&&&&&&&"host"&:&"192.168.1.112:27017"&&&&
&&&&&&&&&&&&&&&&}&&&&
&&&&&&&&]&&&&
}& & & &从上述过程来看,配置文档中version字段都会自增,它的初始值为1;&三、或者通过rs.reconfig()函数修改副本集例如,将host用主机名来替代ip地址[root@localhost&~]#&ping&host113&&&
PING&host113&(192.168.1.113)&56(84)&bytes&of&data.&&&&
64&bytes&from&host113&(192.168.1.113):&icmp_seq=1&ttl=64&time=0.060&ms&&&&
64&bytes&from&host113&(192.168.1.113):&icmp_seq=2&ttl=64&time=0.030&ms&&&&
64&bytes&from&host113&(192.168.1.113):&icmp_seq=3&ttl=64&time=0.026&ms&&&&
64&bytes&from&host113&(192.168.1.113):&icmp_seq=4&ttl=64&time=1.04&ms&&&&
---&host113&ping&statistics&---&&&&
4&packets&transmitted,&4&received,&0%&packet&loss,&time&3001ms&&&&
rtt&min/avg/max/mdev&=&0.026/0.289/1.041/0.434&ms&&&&
[root@localhost&~]#&mongo&&&&
MongoDB&shell&version:&2.6.7&&&&
connecting&to:&test&&&&
spock:PRIMARY&&rs.config()&&&&
{&&&&&&&&&&&&
&&&&"_id"&:&"spock",&&&&&&&&&&&&
&&&&"version"&:&3,&&&&&&&&&&&&
&&&&"members"&:&[&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&{&"_id"&:&1,&"host"&:&"192.168.1.113:27017"},
&&&&&&&&&&&&&&&&&&&&{&"_id"&:&2,&"host"&:&"192.168.1.112:27017"}&&&&&&&&&&&&
&&&&&&&&&&&&&&&&]&&&&
spock:PRIMARY&&var&config=rs.config()&&&
spock:PRIMARY&&config.members[0].host="host113:27017"&&&&
host113:27017&&&&
spock:PRIMARY&&rs.reconfig(config)&&&&
T22:21:22.793+0800&DBClientCursor::init&call()&failed&&&&
T22:21:22.795+0800&trying&reconnect&to&127.0.0.1:2.0.1)&faile
T22:21:22.797+0800&reconnect&127.0.0.1:2.0.1)&ok&&&&
reconnected&to&server&after&rs&command&(which&is&normal)
spock:PRIMARY&&rs.config()&&&
{&&&&&&&&&&&&
&&&&"_id"&:&"spock",&&&&&&&&&&&&
&&&&"version"&:&4,&&&&&&&&&&&&
&&&&"members"&:&[&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&{&"_id"&:&1,"host"&:&"host113:27017"},
&&&&&&&&&&&&{&"_id"&:&2,&"host"&:&"192.168.1.112:27017"}&&&&&&&&&&&&
&&&&&&&&&&&&&&&&]&&&&
spock:PRIMARY&&对于复杂的副本集配置,rs.reconfig函数修改比rs.add和rs.remove更有用;本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)记录一下,MongoDB的角色创建及配置,以便以后使用
  Replica Set,中文翻译叫做副本集,不过我并不喜欢把英文翻译成中文,总是感觉怪怪的。其实简单来说就是集群当中包含了多份数据,保证主节点挂掉了,备节点能继续提供数据服务,提供的前提就是数据需要和主节点一致
&   Mongodb(M)表示主节点,Mongodb(S)表示备节点,Mongodb(A)表示仲裁节点。主备节点存储数据,仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。
&&&&&& 默认设置下,主节点提供所有增删查改服务,备节点不提供任何服务。但是可以通过设置使备节点提供查询服务,这样就可以减少主节点的压力,当客户端进行数据查询时,请求自动转到备节点上。这个设置叫做,同时Java客户端提供了简单的配置方式,可以不必直接对数据库进行操作。
&&&&&& 仲裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点,所以客户端不需要连接此节点。这里虽然只有一个备节点,但是仍然需要一个仲裁节点来提升备节点级别。我开始也不相信必须要有仲裁节点,但是自己也试过没仲裁节点的话,主节点挂了备节点还是备节点,所以咱们还是需要它的。
介绍完了集群方案,那么现在就开始搭建了。
副本集搭建
1、准备配置文件
# mongod.conf
# for documentation of all options, see:
http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /home/dd/mongodb/logs/mongod.log #日志文件存放目录
# Where and how to store data.
dbPath: /home/dd/mongodb/db #数据文件存放目录
enabled: true
wiredTiger:
# how the process runs
processManagement:
fork: true
#以守护程序的方式启用,即在后台运行
pidFilePath: /home/dd/mongodb/mongod.pid
# location of pidfile
# network interfaces
port: 27017 #端口
bindIp: 0.0.0.0
# Listen to local interface only, comment to listen on all interfaces.
#security:
#authorization: enabled
#operationProfiling:
replication:  replSetName: matchData1
#sharding:
## Enterprise-Only Options
#auditLog:
红色标示出副本集的名称,副本集以此名称来识别是否属于同一个集群中
2、启动准备好的一台Mongodb数据库
bin/mongod –f mongo.conf
3、连接到Mongo的admin库
bin/mongo ip:port/admin
4、增加用户
db.createUser({user:"root",pwd:"root",roles:["root"]})
db.createUser(
user: "basket",
pwd: "basket",
roles: [{role: "readWrite", db: "ballmatch"}]
5、生成keyFile文件
在服务器上执行
–base64 753
mongodb.keyfile
chmod 600 keyFile
将keyFile配置到Mongo配置文件,同时开启验证
authorization: enabled
keyFile:/home/dd/mongodb/mongodb.keyfile
没有这个文件的机器就无法加入副本集,开启了keyFile,隐含就开启了auth,这个时候连接副本集就需要进行认证了
6、重启Mongo服务
7、拷贝到其他服务器,修改对应得目录
8、添加副本集配置
cfg={_id:"matchData1", members:[{_id:0, host:'192.168.10.242:37017', priority:1},{_id:1, host:'192.168.10.242:37018', priority:2}, {_id:2, host:'192.168.10.242:37019', arbiterOnly:true}]};
rs.initiate(cfg);
cfg:变量名,任意起
_id:”matchData1” 配置文件中配置的副本集名称
host:Mongodb的ip+端口
priority:优先级,数字越大优先级越高(0-100),优先级最高的会是初始的主节点,显示为PRIMARY。如果不想让某些成员在故障切换时成为primary,则将它们的优先级设为0(为0永不会成为主节点)
当副本集切换失败时,可用如下代码重新配置:
rs.reconfig(cfg, {force:true});
9、副本集状态
rs.status()
"health" : 1, #代表机器正常
"stateStr" : "PRIMARY",
#代表是主节点,可读写,其中有以下几下状态
1. STARTUP:刚加入到复制集中,配置还未加载
2. STARTUP2:配置已加载完,初始化;
3. RECOVERING:正在恢复,不适用读
4. ARBITER: 仲裁者
5. DOWN:节点不可到达
6. UNKNOWN:未获取其他节点状态而不知是什么状态,一般发生在只有两个成员的架构
7. REMOVED:移除复制集
8. ROLLBACK:数据回滚,在回滚结束时,转移到RECOVERING或SECONDARY状态
9. FATAL:出错。查看日志grep “replSet FATAL”找出错原因,重新做同步
10. PRIMARY:主节点
11. SECONDARY:备份节点
前提是这个ip:port必须是使用了同一个relpSet名称的mongodb实例即可
添加副本,在登录到主节点下输入
rs.add("ip:port");
rs.remove("ip:port");
新增仲裁节点
rs.addArb(“ip:port”);
注:新加入副本集的节点,会自动同步当前副本集已有权限及数据
阅读(...) 评论()mongodb&副本集和分片
mongodb 副本集和分片
/Linux/382.htm
/tech/mongodb/mongodb_repset1.html
/tech/arch/mongodb_shard1.html
/tech/mongodb_repset2.html
————————————————————————
86 87 88 89 90
mongos1 mongos2 mongos3 config1 config2
config3 shard1-1 shard1-2 shard1-3 shard2-1
shard2-2 shard2-3 shard3-1 shard3-2 shard3-3
————————————————————————
参考配置:
$ mkdir -p /data/config/data
$ mkdir -p /data/config/log
$ mongod --dbpath=/data/config/data
--logpath=/data/config/log/config.log --port=30000 --fork
--configsvr
$ mkdir -p /data/mongos/log
$ mongos --logpath=/data/mongos/log/mongos.log --port=27017 --fork
--configdb=192.168.1.186:30000
$ mkdir -p /data/shard1/data/set1
$ mkdir -p /data/shard1/data/set2
$ mkdir -p /data/shard1/data/set3
$ mkdir -p /data/shard1/logs
$ mongod --dbpath=/data/shard1/data/set1
--logpath=/data/shard1/logs/set1.log --port=27017 --fork --shardsvr
--replSet=shard1
$ mongod --dbpath=/data/shard1/data/set2
--logpath=/data/shard1/logs/set2.log --port=27018 --fork --shardsvr
--replSet=shard1
$ mongod --dbpath=/data/shard1/data/set3
--logpath=/data/shard1/logs/set3.log --port=27019 --fork --shardsvr
--replSet=shard1
通过mongo shell进入任意一个实例,此处选择的是27017实例,配置副本集并初始化
# mongo 127.0.0.1:27017/admin
mongo shell:
& cnf = {_id:"shard1", members:[
& {_id:1, host:"192.168.1.187:27017"},
& {_id:2, host:"192.168.1.187:27018"},
& {_id:3, host:"192.168.1.187:27019"},
& rs.initiate(cnf);
{ "ok" : 1 }
检查副本集状态
& rs.status()
shard2同理
在mongos上添加shard
进入mongos的shell
mongos& db.runCommand( { addshard :
"shard1/192.168.1.187:8.1.187:8.1.187:27019"});
{ "shardAdded" : "shard1", "ok" : 1 }
mongos& db.runCommand( { addshard :
"shard2/192.168.1.188:8.1.188:8.1.188:27019"});
{ "shardAdded" : "shard2", "ok" : 1 }
mongos& db.runCommand( { listshards : 1 } );
& "shards" : [
& & & "_id" :
& & & "host" :
"shard1/192.168.1.187:8.1.187:8.1.187:27019"
& & & "_id" :
& & & "host" :
"shard2/192.168.1.188:8.1.188:8.1.188:27019"
& "ok" : 1
对A库的B集合使用hash策略:
mongos& use admin
switched to db admin
mongos& db.runCommand({"enablesharding":"A"})
{ "ok" : 1 }
db.runCommand({"shardcollection":"A.B","key":{"_id":"hashed"}})
{ "collectionsharded" : “A.B", "ok" : 1 }
完成对A库的B集合的shard配置
config的port放在30000
同时也要有分片的指令,分片集命名为config1
$ mkdir -p /data/config/data
$ mkdir -p /data/config/log
XX.XX.XX.89:30000机器、XX.XX.XX.90:30000机器、XX.XX.XX.86:30000机器
$ mongod --dbpath=/data/config/data
--logpath=/data/config/log/config.log --port=30000 --fork
--configsvr --replSet=config1
添加副本集
mongo连接config实体
$ ./mongo XX.XX.XX..89:30000
&use admin 使用admin数据库
& cnf = {_id:"config1", members:[
& {_id:1, host:"XX.XX.XX.89:30000"},
& {_id:2, host:"XX.XX.XX.90:30000"},
& {_id:3, host:"XX.XX.XX.86:30000"},
& rs.initiate(cnf);
{ "ok" : 1 }
检查副本集状态
& rs.status()
mongos的port为27017
分片集命名为mongos1
$ mkdir -p /data/mongos/log
$ mongos --logpath=/data/mongos/log/mongos.log --port=27017 --fork
--configdb=XX.XX.XX.89:30000 --replSet=mongos1
添加副本集
& cnf = {_id:"mongos1", members:[
& {_id:1, host:"XX.XX.XX.86:27017"},
& {_id:2, host:"XX.XX.XX.87:27017"},
& {_id:3, host:"XX.XX.XX.88:27017"},
碰到问题:
mongos不能做分片,没有replSet参数
放弃做mongos副本,然后执行启动指令会报错
[报错]configdb supports only replica set connection string
因为,3.4版本强行要求config server 做分片
修改指令:
$ mongos --logpath=/data/mongos/log/mongos.log --port=27017 --fork
--configdb=confg1/XX.XX.XX.89:30000,XX.XX.XX.90:30000,XX.XX.XX.86:30000
这里又发现,问题二的解决指令不通
$ mongos --logpath=/data/mongos/log/mongos.log --port=27017 --fork
--configdb config1/XX.XX.XX.89:30000
shard1-1 XX.XX.XX.87:30001
$ mkdir -p /data/shard1/data/set1
$ mkdir -p /data/shard1/logs
$ mongod --dbpath=/data/shard1/data/set1
--logpath=/data/shard1/logs/set1.log --port=30001 --fork --shardsvr
--replSet=shard1
shard1-2 XX.XX.XX.88:30001
$ mkdir -p /data/shard1/data/set2
$ mkdir -p /data/shard1/logs
$ mongod --dbpath=/data/shard1/data/set2
--logpath=/data/shard1/logs/set2.log --port=30001 --fork --shardsvr
--replSet=shard1
shard1-3 XX.XX.XX.89:30001
$ mkdir -p /data/shard1/data/set3
$ mkdir -p /data/shard1/logs
$ mongod --dbpath=/data/shard1/data/set3
--logpath=/data/shard1/logs/set3.log --port=30001 --fork --shardsvr
--replSet=shard1
添加副本集
& cnf = {_id:"shard1", members:[
& {_id:1, host:"XX.XX.XX.87:30001"},
& {_id:2, host:"XX.XX.XX.88:30001"},
& {_id:3, host:"XX.XX.XX.89:30001"},
shard2-1 XX.XX.XX.90:30002
$ mkdir -p /data/shard2/data/set1
$ mkdir -p /data/shard2/logs
$ mongod --dbpath=/data/shard2/data/set1
--logpath=/data/shard2/logs/set1.log --port=30002 --fork --shardsvr
--replSet=shard2
shard2-2 XX.XX.XX.86:30002
$ mkdir -p /data/shard2/data/set2
$ mkdir -p /data/shard2/logs
$ mongod --dbpath=/data/shard2/data/set2
--logpath=/data/shard2/logs/set2.log --port=30002 --fork --shardsvr
--replSet=shard2
shard2-3 XX.XX.XX.87:30002
$ mkdir -p /data/shard2/data/set3
$ mkdir -p /data/shard2/logs
添加副本集
& cnf = {_id:"shard2", members:[
& {_id:1, host:"XX.XX.XX.90:30002"},
& {_id:2, host:"XX.XX.XX.86:30002"},
& {_id:3, host:"XX.XX.XX.87:30002"},
shard3-1 XX.XX.XX.88:30003
$ mkdir -p /data/shard3/data/set1
$ mkdir -p /data/shard3/logs
$ mongod --dbpath=/data/shard3/data/set1
--logpath=/data/shard3/logs/set1.log --port=30003 --fork --shardsvr
--replSet=shard3
shard3-2 XX.XX.XX.89:30003
$ mkdir -p /data/shard3/data/set2
$ mkdir -p /data/shard3/logs
$ mongod --dbpath=/data/shard3/data/set2
--logpath=/data/shard3/logs/set2.log --port=30003 --fork --shardsvr
--replSet=shard3
shard3-3 XX.XX.XX.90:30003
$ mkdir -p /data/shard3/data/set3
$ mkdir -p /data/shard3/logs
$ mongod --dbpath=/data/shard3/data/set3
--logpath=/data/shard3/logs/set3.log --port=30003 --fork --shardsvr
--replSet=shard3
添加副本集
& cnf = {_id:"shard3", members:[
& {_id:1, host:"XX.XX.XX.88:30003"},
& {_id:2, host:"XX.XX.XX.89:30003"},
& {_id:3, host:"XX.XX.XX.90:30003"},
副本集测试
在mongos上添加shard
进入mongos的shell
&use admin
mongos& db.runCommand( { addshard :
"shard1/XX.XX.XX.87:30001,XX.XX.XX.88:30001,XX.XX.XX.89:30001"});
{ "shardAdded" : "shard1", "ok" : 1 }
mongos& db.runCommand( { addshard :
"shard2/XX.XX.XX.90:30002,XX.XX.XX.86:30002,XX.XX.XX.87:30002"});
{ "shardAdded" : "shard2", "ok" : 1 }
mongos& db.runCommand( { addshard :
"shard3/XX.XX.XX.88:30003,XX.XX.XX.89:30003,XX.XX.XX.90:30003"});
{ "shardAdded" : "shard3", "ok" : 1 }
mongos& db.runCommand( { listshards : 1 } );
& "shards" : [
& & & "_id" :
& & & "host" :
"shard1/XX.XX.XX.87:30001,XX.XX.XX.88:30001,XX.XX.XX.89:30001"
& & & "_id" :
& & & "host" :
"shard2/XX.XX.XX.90:30002,XX.XX.XX.86:30002,XX.XX.XX.87:30002"
& & & "_id" :
& & & "host" :
"shard3/XX.XX.XX.88:30003,XX.XX.XX.89:30003,XX.XX.XX.90:30003"
& "ok" : 1
连接在mongos上,让指定的数据库、指定的集合分片生效
并且使用hash策略
mongos& use admin
switched to db admin
mongos& db.runCommand({"enablesharding":"A"})
{ "ok" : 1 }
db.runCommand({"shardcollection":"A.B","key":{"_id":"hashed"}})
{ "collectionsharded" : “A.B", "ok" : 1 }
完成对A库的B集合的shard配置
mongo连接mongos
#插入测试数据
& for (var i = 1; i &= 100000; i++)
db.table1.save({id:i,"test":"testval"});
#查看分片情况
db.table1.stats();
当然可以在副本集定义的时候,设置仲裁节点
config = { _id:"shard1", members:[
& &{_id:0,host:"XX"},
& &{_id:1,host:"XX"},
&{_id:2,host:"XX",arbiterOnly:true}
如何开机启动
低版本mongodb的config是开不了副本集的
要在3.4以上的才可以
Linux centos下的下载版本:
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.9.tgz
(注)rhel表示redhat的企业版,centos是redhat的全开源版本
副本集默认不允许读数据
error: { "$err" : "not master and slaveOk=false", "code" : 13435
#mongodb默认是从主节点读写数据的,副本节点上不允许读,需要设置副本节点可以读。
repset:SECONDARY& db.getMongo().setSlaveOk();
副本集的故障转移
停止主节点,可以看到副本进行一系列投票
选出新的主节点
配置返回参数参考:
config1:SECONDARY& rs.status()
"set" : "config1",
"date" : ISODate("2017-XX-XXT…”),
"myState" : 1,
"term" : NumberLong(1),
"configsvr" : true,
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
"appliedOpTime" : {
"ts" : Timestamp(……., 20),
"t" : NumberLong(1)
"durableOpTime" : {
"ts" : Timestamp(……, 20),
"t" : NumberLong(1)
"members" : [
"_id" : 1,
"name" : "XX.XX.XX.89:30000",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 237,
"optime" : {
"ts" : Timestamp(……, 20),
"t" : NumberLong(1)
"optimeDate" : ISODate("2017-XX-XXT…”),
"infoMessage" : "could not find member to sync from",
"electionTime" : Timestamp(……, 1),
"electionDate" : ISODate("2017-XX-XXT…"),
"configVersion" : 1,
"self" : true
"_id" : 2,
"name" : "XX.XX.XX.90:30000",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 15,
"optime" : {
"ts" : Timestamp(……, 1),
"t" : NumberLong(-1)
"optimeDurable" : {
"ts" : Timestamp(……, 1),
"t" : NumberLong(-1)
"optimeDate" : ISODate("2017-XX-XXT…"),
"optimeDurableDate" : ISODate("2017-XX-XXT…"),
"lastHeartbeat" : ISODate("2017-XX-XXT…"),
"lastHeartbeatRecv" : ISODate("2017-XX-XXT…"),
"pingMs" : NumberLong(0),
"configVersion" : 1
"_id" : 3,
"name" : "XX.XX.XX.86:30000",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 15,
"optime" : {
"ts" : Timestamp(……, 1),
"t" : NumberLong(-1)
"optimeDurable" : {
"ts" : Timestamp(……, 1),
"t" : NumberLong(-1)
"optimeDate" : ISODate("2017-XX-XXT…"),
"optimeDurableDate" : ISODate("2017-XX-XXT…"),
"lastHeartbeat" : ISODate("2017-XX-XXT…"),
"lastHeartbeatRecv" : ISODate("2017-XX-XXT…"),
"pingMs" : NumberLong(0),
"configVersion" : 1
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。MongoDB 3.2 测试环境副本集搭建 - CSDN博客
MongoDB 3.2 测试环境副本集搭建
mkdir -p /opt/mongodb-3.0.7/rs0-0 /opt/mongodb-3.0.7/rs0-1 /opt/mongodb-3.0.7/rs0-2
nohup bin/mongod --port 27017 --dbpath /opt/mongodb-3.0.7/rs0-0 --replSet rs0 --smallfiles --oplogSize 128 &
nohup bin/mongod --port 27018 --dbpath /opt/mongodb-3.0.7/rs0-1 --replSet rs0 --smallfiles --oplogSize 128 &
nohup bin/mongod --port 27019 --dbpath /opt/mongodb-3.0.7/rs0-2 --replSet rs0 --smallfiles --oplogSize 128 &
bin/mongo --port 27017
rs.add(&192.168.1.199:27018&)
rs.add(&192.168.1.199:27019&)
db.createUser(
user: &db_keng_sdk_mng&,
pwd: &db_keng_sdk_mng_pswd&,
{ role: &readWrite&, db: &db_keng_sdk& }
bin/mongo --port 27017 --eval 'db.adminCommand(&shutdown&)'
bin/mongo --port 27018 --eval 'db.adminCommand(&shutdown&)'
bin/mongo --port 27019 --eval 'db.adminCommand(&shutdown&)'
本文已收录于以下专栏:
相关文章推荐
一、      基本流程
(1)       搭建配置服务器(3台服务器)
MongoDB3.2版本开始,配置服务器从之前的3服务器模式转变为副本集模式,本文搭建的配置服务器集...
Mongodb副本集:NoSQL的产生就是为了解决大数据量、高扩展性、高性能、灵活数据模型、高可用性。但是光通过主从模式的架构远远达不到上面几点,由此MongoDB设计了副本集和分片的功能,先来用用副...
MongoDB副本集学习(一):概述和环境搭建
MongoDB副本集概述
以下图片摘自MongoDB官方文档:http://docs.mongodb.org/manual/co...
结构图配置分片A1
新建如下目录
2 分别启动分片A的三个节点[root@localhost bin]# ./mongod --port 30001 --shardsvr --replSet sh...
MongoDB副本集学习(二):基本测试与应用
简单副本集测试
这一节主要对上一节搭建的副本集做一些简单的测试。
我们首先进入primary节点(37017),并向test....
前段时间花了时间看了看mongodb,室友买了mongodb权威指南也借过来瞅瞅,书对于刚刚接触的人还是不错的。废话不多说上代码。
MacBook pro 15款840
apt-get install mongodb
二 开启权限验证及远程登陆
vim /etc/mongodb.conf  
 设置 将auth=true前面的注释拿掉  
 注释掉bind...
在上一篇文章《搭建高可用mongodb集群(二)—— 副本集》 介绍了副本集的配置,这篇文章深入研究一下副本集的内部机制。还是带着副本集的问题来看吧!
在上一篇博客中介绍了MongoDB复制和副本集的概念,这次将我参考别人单机搭建的副本集展现给大家。
下面是在单机上搭建一个三个节点的副本集。一个主节点(primary),两个从节点(secondar...
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 mongodb 副本集 配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信