修改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

}


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

查看所有标签

猜你喜欢:

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

CSS权威指南(第三版·英文影印版)

CSS权威指南(第三版·英文影印版)

[美] Eric A.Meyer / 东南大学出版社 / 2007-06 / 68.00元

著名的CSS专家Eric A.Meyer他招牌式的智慧和无与伦比的经验引领读者探索了CSS的各个部 分,包括属性、标记、特性和实现。此外,他还就现实应用中的一些问题,例如浏览器的支持和设计方针,发表了看法。你所要知道的就是HTML 4.0的知识,这样就可以创建整洁、易于维护的脚本,以与桌面出版系统同样的优雅和控制能力管理网站布局和分页。你将会学到: 精妙地设计文本风格 用户界面、......一起来看看 《CSS权威指南(第三版·英文影印版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具