修改mongodb(带仲裁节点的副本集)各机器端口

栏目: 数据库 · 发布时间: 5年前

需求:因为端口调整,需要改变副本的备份集

1.查看当前的副本集信息

[root@localhost bin]# ./mongo 192.168.1.134:10001

repltest:PRIMARY> use admin

repltest:PRIMARY> db.auth("sa","123456")

repltest:PRIMARY> rs.config()

{

"_id" : "repltest",

"version" : 1,

"members" : [

{

"_id" : 0,

"host" : "192.168.1.134: 10001 ",

"arbiterOnly" : false,

"buildIndexes" : true,

"hidden" : false,

"priority" : 1,

"tags" : {

},

"slaveDelay" : 0,

"votes" : 1

},

{

"_id" : 1,

"host" : "192.168.1.135: 10002 ",

"arbiterOnly" : false,

"buildIndexes" : true,

"hidden" : false,

"priority" : 1,

"tags" : {

},

"slaveDelay" : 0,

"votes" : 1

},

{

"_id" : 2,

"host" : "192.168.1.135: 10003 ",

"arbiterOnly" : true,

"buildIndexes" : true,

"hidden" : false,

"priority" : 1,

"tags" : {

},

"slaveDelay" : 0,

"votes" : 1

}

],

"settings" : {

"chainingAllowed" : true,

"heartbeatTimeoutSecs" : 10,

"getLastErrorModes" : {

},

"getLastErrorDefaults" : {

"w" : 1,

"wtimeout" : 0

}

}

}

我们需要将这里各机器的端口10001,10002,10003分别修改为20001,20002,20003

2.修改从库192.168.1.135:10002为192.168.1.135:20002

2.1 停掉该从库

[root@localhost bin]# ./mongo localhost:10002

repltest:SECONDARY> use admin

repltest:SECONDARY> db.auth("sa","123456")

repltest:SECONDARY> db.shutdownServer()

2.2修改配置文件(mongo.cnf)将端口10002修改为20002

port = 20002

2.3启动该重库

[root@localhost bin]# ./mongod -f /opt/mongodb3015_slave/conf/mongo.cnf

2.4登陆主库执行如下命令

repltest:PRIMARY> rs.remove("192.168.1.135:10002")  ##移除原配置文件中的已经变更地址的主机

repltest:PRIMARY> rs.add("192.168.1.135:20002")     ##添加变更后的端口

2.5查看配置是否生效

rs.config()

rs.status()

3.修改仲裁节点的端口

3.1停掉仲裁节点

[root@localhost bin]# ./mongo localhost:10003

MongoDB shell version: 3.0.15

connecting to: localhost:10003/test

repltest:ARBITER> use admin

switched to db admin

repltest:ARBITER> db.auth("sa","123456")

Error: 18 Authentication failed.

0

repltest:ARBITER> db.shutdownServer()

3.2修改配置文件(mongo.cnf)将端口10003修改为20003

port = 20002

3.3启动该重库

[root@localhost bin]# ./mongod -f /opt/mongodb3015_arbiter/conf/mongo.cnf

3.4登陆主库执行如下命令

repltest:PRIMARY> rs.remove("192.168.1.135:10003")  ##移除原配置文件中的已经变更地址的主机

repltest:PRIMARY> rs.addArb("192.168.1.135:20003")  ##添加仲裁节点

3.5查看配置是否生效

rs.config()

rs.status()

4.修改主库192.168.1.134:10001为192.168.1.134:10002

4.1 停掉该主库

[root@localhost bin]# ./mongo localhost:10001

repltest:PRIMARY> use admin

repltest:PRIMARY> db.auth("sa","123456")

repltest:PRIMARY> db.shutdownServer()

这个时候该另外一个从库会变更为主库

4.2修改配置文件(mongo.cnf)将端口10001修改为20001

port = 20001

4.3启动该库

[root@localhost bin]# ./mongod -f /opt/mongodb3015/conf/mongo.cnf

4.4登陆主库执行如下命令

root@localhost bin]# ./mongo 192.168.1.135:20002

repltest:PRIMARY> use admin

repltest:PRIMARY> db.auth("sa","123456")

repltest:PRIMARY> rs.remove("192.168.1.134:10001")  ##移除原配置文件中的已经变更地址的主机

repltest:PRIMARY> rs.add("192.168.1.134:20001")     ##添加变更后的端口

5.整个配置完成后查看配置和状态

repltest:PRIMARY> rs.conf()

{

"_id" : "repltest",

"version" : 7,

"members" : [

{

"_id" : 3,

"host" : "192.168.1.135: 20002 ",

"arbiterOnly" : false,

"buildIndexes" : true,

"hidden" : false,

"priority" : 1,

"tags" : {

},

"slaveDelay" : 0,

"votes" : 1

},

{

"_id" : 4,

"host" : "192.168.1.135: 20003 ",

"arbiterOnly" : true,

"buildIndexes" : true,

"hidden" : false,

"priority" : 1,

"tags" : {

},

"slaveDelay" : 0,

"votes" : 1

},

{

"_id" : 5,

"host" : "192.168.1.134: 20001 ",

"arbiterOnly" : false,

"buildIndexes" : true,

"hidden" : false,

"priority" : 1,

"tags" : {

},

"slaveDelay" : 0,

"votes" : 1

}

],

"settings" : {

"chainingAllowed" : true,

"heartbeatTimeoutSecs" : 10,

"getLastErrorModes" : {

},

"getLastErrorDefaults" : {

"w" : 1,

"wtimeout" : 0

}

}

}

repltest:PRIMARY> rs.status()

{

"set" : "repltest",

"date" : ISODate("2019-02-21T01:13:14.107Z"),

"myState" : 1,

"members" : [

{

"_id" : 3,

"name" : "192.168.1.135:20002",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"uptime" : 1504,

"optime" : Timestamp(1550711569, 1),

"optimeDate" : ISODate("2019-02-21T01:12:49Z"),

"electionTime" : Timestamp(1550711217, 1),

"electionDate" : ISODate("2019-02-21T01:06:57Z"),

"configVersion" : 7,

"self" : true

},

{

"_id" : 4,

"name" : "192.168.1.135:20003",

"health" : 1,

"state" : 7,

"stateStr" : "ARBITER",

"uptime" : 596,

"lastHeartbeat" : ISODate("2019-02-21T01:13:13.747Z"),

"lastHeartbeatRecv" : ISODate("2019-02-21T01:13:12.451Z"),

"pingMs" : 0,

"configVersion" : 7

},

{

"_id" : 5,

"name" : "192.168.1.134:20001",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 22,

"optime" : Timestamp(1550711569, 1),

"optimeDate" : ISODate("2019-02-21T01:12:49Z"),

"lastHeartbeat" : ISODate("2019-02-21T01:13:13.791Z"),

"lastHeartbeatRecv" : ISODate("2019-02-21T01:13:13.851Z"),

"pingMs" : 0,

"syncingTo" : "192.168.1.135:20002",

"configVersion" : 7

}

],

"ok" : 1

}


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

用户体验要素

用户体验要素

Jesse James Garrett / 范晓燕 / 机械工业出版社 / 2011-7-1 / 39.00元

《用户体验要素:以用户为中心的产品设计(原书第2版)》是AJAX之父Jesse James Garrett的经典之作。本书用简洁的语言系统化地诠释了设计、技术和商业融合是最重要的发展趋势。全书共8章,包括关于用户体验以及为什么它如此重要、认识这些要素、战略层、范围层、结构层、框架层、表现层以及要素的应用。 《用户体验要素:以用户为中心的产品设计(原书第2版)》用清晰的说明和生动的图形分析了以......一起来看看 《用户体验要素》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具