文档章节

MongoDB副本集配置好后修改配置

o00o
 o00o
发布于 2017/09/06 18:14
字数 486
阅读 53
收藏 0

测试环境

Linux redhat6.5 1台
端口:27017、27018、27019
修改端口为27000、27001、27002

配置

单台服务器设置了三个配置文件(3个端口),模拟三台mongod服务,并配置副本集。

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongo1.conf
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongo2.conf
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongo3.conf

mongo1.conf

port=27017
bind_ip=127.0.0.1,192.168.249.181
pidfilepath=/var/run/mongod/mongod1.pid
dbpath=/usr/local/mongodb/data/mongod1
logpath=/usr/local/mongodb/log/mongod1.log
logappend=true
fork=true
auth=true
replSet=replication/192.168.249.181:27018
nohttpinterface=false

mongo1.conf(修改)

port=27000
bind_ip=127.0.0.1,192.168.249.181
pidfilepath=/var/run/mongod/mongod1.pid
dbpath=/usr/local/mongodb/data/mongod1
logpath=/usr/local/mongodb/log/mongod1.log
logappend=true
fork=true
auth=true
replSet=replication/192.168.249.181:27001
nohttpinterface=false

重启mongod服务

重启mongod服务后,发现副本集状态出现异常:

replication:OTHER>  rs.status()
{
	"state" : 10,
	"stateStr" : "REMOVED",
	"uptime" : 282,
	"optime" : {
		"ts" : Timestamp(1504690040, 1),
		"t" : NumberLong(8)
	},
	"optimeDate" : ISODate("2017-09-06T09:27:20Z"),
	"ok" : 0,
	"errmsg" : "Our replica set config is invalid or we are not a member of it",
	"code" : 93,
	"codeName" : "InvalidReplicaSetConfig"
}

恍然,配置的副本集端口也需要修改:

# 获取副本集配置
replication:OTHER> cfg=rs.conf()
replication:OTHER> printjson(cfg)
# 查看配置节点
replication:OTHER> printjson(cfg.members[0])
# 修改节点端口
replication:OTHER> cfg.members[0].host="192.168.249.181:27000"
replication:OTHER> cfg.members[1].host="192.168.249.181:27001"
replication:OTHER> cfg.members[2].host="192.168.249.181:27002"
# 重新配置
replication:OTHER> rs.reconfig(cfg)    # 可能会报错"errmsg" : "replSetReconfig should only be run on PRIMARY, but my state is REMOVED; use the \"force\" argument to override",
# 报错的话,根据报错信息加强制指令执行
replication:OTHER> rs.reconfig(cfg, {force : true})

查看副本集状态

replication:PRIMARY> rs.status()

replication:PRIMARY> rs.isMaster()
{
	"hosts" : [
		"192.168.249.181:27000",
		"192.168.249.181:27001",
		"192.168.249.181:27002"
	],
	"setName" : "replication",
	"setVersion" : 52478,
	"ismaster" : true,
	"secondary" : false,
	"primary" : "192.168.249.181:27002",
	"me" : "192.168.249.181:27002",
	"electionId" : ObjectId("7fffffff0000000000000009"),
	"lastWrite" : {
		"opTime" : {
			"ts" : Timestamp(1504693178, 1),
			"t" : NumberLong(9)
		},
		"lastWriteDate" : ISODate("2017-09-06T10:19:38Z")
	},
	"maxBsonObjectSize" : 16777216,
	"maxMessageSizeBytes" : 48000000,
	"maxWriteBatchSize" : 1000,
	"localTime" : ISODate("2017-09-06T10:19:46.167Z"),
	"maxWireVersion" : 5,
	"minWireVersion" : 0,
	"readOnly" : false,
	"ok" : 1
}

© 著作权归作者所有

共有 人打赏支持
上一篇: 乐观锁和悲观锁
下一篇: mysqlslap压测MySql
o00o
粉丝 2
博文 96
码字总数 46681
作品 0
武汉
其他
私信 提问
mongodb(一)mongodb 副本集配置

---layout: blogistop: truetitle: "mongodb 副本集配置"date: 2018-08-29category: mongodbtags: mongodb --- 环境 下载解压 基本配置: 假定已经解压安装完成,现在所处的目录是 /usr/loc...

开心的哈士奇
10/17
0
0
Install MongoDB 3.4 with Replica Set on CentOS7.x

Install MongoDB 3.4 with Replica Set on CentOS7.x by Dennis 2017/09/25 <> CentOS7.x 安装 MongoDB 3.4.x, 三台机器 (至少需要 3 台机器)做 Replica Set Install MongoDB 在每一台机器......

丹尼斯
2017/10/25
0
0
mongodb Replica Set 部署

Replica Set 下面实验使用的是ubuntu1404-3.5.13 版本 在ubuntu1404上安装 Replica Set 集群节点: master 安装 使用supervisor管理mongodb slave 安装 使用supervisor管理mongodb arbiter 安...

lvnian2009
06/26
0
0
MongoDB集群部署 - 带访问控制的分片副本集

1. 前言   Ceilometer将meter、event等数据保存在MongoDB中,之前将MongoDB部署在控制节点上,使用三副本模式,时间长了发现meter数据爆炸式增长,区区2T的磁盘捉襟见肘,而想删除旧数据,...

Sai18
08/16
0
0
Mongodb 副本集+分片集群搭建

环境需求: 在三台机器上搭建副本集,在副本集上做分片 服务器IP: 192.168.1.232/192.168.1.238/192.168.1.241 安装Mongodb all nodes: tar zxvf mongodb-linux-x86_64-rhel62-3.4.4.tgz c...

startuppp
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

NEO共识算法图解

共识机制 术语说明 权益证明 PoS :一种利用网络协商一致来处理容错的算法。 工作量证明 PoW :一种利用计算能力来处理容错的算法。 拜占庭错误 BF: 一个节点保持功能,但以不诚实甚至是恶意...

NEO-FANS
4分钟前
0
0
maven编译时出现There are test failures

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project web_nanchang: There are test failures. [ERROR] [ERROR] Please r......

洛水
7分钟前
0
0
delphi在memo实现全选

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Shift =[ssCtrl]) and (Key=65) then Memo1.SelectAll end;......

dillonxiao
10分钟前
0
0
MaxCompute表设计最佳实践

MaxCompute表设计最佳实践 产生大量小文件的操作 MaxCompute表的小文件会影响存储和计算性能,因此我们先介绍下什么样的操作会产生大量小文件,从 而在做表设计的时候考虑避开此类操作。 使用...

阿里云云栖社区
15分钟前
0
0
“价值2个亿”的AI代码

前两天朋友圈里看到一段号称“价值一亿”的代码: 可以智能应答,很厉害是不是? 源码: Python 极简版: while True: print(input('').replace('吗','').replace('?','!')) 其实就是...

crossin
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部