mongodb集群修改IP地址


具体的修改方法参考:https://docs.mongodb.com/v3.2/tutorial/change-hostnames-in-a-replica-set/

下面以修改集群中的一个分片的一个节点(nodeA)为例来进行说明,其它节点操作类似,假设待修改IP的节点如下

旧主机名新主机名原IP新IP
serverrs13-c40710.22.124.3110.130.140.34

优雅的关闭nodeA上的mongod实例

具体方法:
采用mongo连接到分片secondary,停止节点nodeA上的mongod实例

use admin
db.shutdownServer()

修改主机名和IP地址

修改网卡IP地址,具体参考:https://blog.csdn.net/wangkai_123456/article/details/90406901#IP_11

查看网卡名称

ip addr

重启网卡(以网卡名称 ens4f0 为例)

ifdown ens4f0 && ifup ens4f0

修改完nodeA节点的主机名和IP地址后,修改相应的mongod实例对应的配置文件,重启mongod实例。

配置分片

采用mongo连接primary,修改配置

cfg = rs.conf()
rs1:PRIMARY> cfg = rs.conf()
{
	"_id" : "rs1",
	"version" : 23,
	"protocolVersion" : NumberLong(1),
	"members" : [
		{
			"_id" : 0,
			"host" : "10.22.124.31:27018",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 1,
			"host" : "rs12-c407:27018",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 3,
			"host" : "rs11-j203:27018",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		}
	],
	"settings" : {
		"chainingAllowed" : true,
		"heartbeatIntervalMillis" : 2000,
		"heartbeatTimeoutSecs" : 10,
		"electionTimeoutMillis" : 10000,
		"catchUpTimeoutMillis" : 60000,
		"getLastErrorModes" : {
			
		},
		"getLastErrorDefaults" : {
			"w" : 1,
			"wtimeout" : 0
		},
		"replicaSetId" : ObjectId("59e57d98c63b5b144f97b769")
	}
}

由以上配置信息可知需要修改的是第一个成员的配置,所以修改命令如下

cfg.members[0].host = "rs13-c407:27018" 
rs.reconfig(cfg)

修改完成后,查看集群配置

rs.conf()
```shell
rs1:PRIMARY> cfg = rs.conf()
{
	"_id" : "rs1",
	"version" : 23,
	"protocolVersion" : NumberLong(1),
	"members" : [
		{
			"_id" : 0,
			"host" : "rs13-c407:27018",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 1,
			"host" : "rs12-c407:27018",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 3,
			"host" : "rs11-j203:27018",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		}
	],
	"settings" : {
		"chainingAllowed" : true,
		"heartbeatIntervalMillis" : 2000,
		"heartbeatTimeoutSecs" : 10,
		"electionTimeoutMillis" : 10000,
		"catchUpTimeoutMillis" : 60000,
		"getLastErrorModes" : {
			
		},
		"getLastErrorDefaults" : {
			"w" : 1,
			"wtimeout" : 0
		},
		"replicaSetId" : ObjectId("59e57d98c63b5b144f97b769")
	}
}

至此,修改集群一个分片的一个节点的IP和主机名完成,其它节点的修改类似。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值