原有集群配置:
服务器信息:192.168.200.155/156/157
服务器155 |
服务器156 |
服务器157 |
mongos |
mongos |
mongos |
config server |
config server |
config server |
shard server1 主节点 |
shard server1 副节点 |
shard server1 仲裁 |
shard server2 仲裁 |
shard server2 主节点 |
shard server2 副节点 |
shard server3 副节点 |
shard server3 仲裁 |
shard server3 主节点 |
端口信息:
mongos:27001
config:30000
shard1:27101
shard2:27102
shard3:27103
现在需要将IP改为正式环境的IP,IP对应关系如下:
192.168.200.155--->10.170.130.93
192.168.200.156--->10.170.130.94
192.168.200.157--->10.170.130.96
1、停止所有的mongod、mongos实例
ps -ef | grep mongod;查出进程ID后使用kill杀掉
ps -ef | grep mongos;查出进程ID后使用kill杀掉
2、修改三个配置节点信息(config server)
1)以standlone模式启动第一个config server
./bin/mongod --port 30000 --dbpath /data2/mongodb/config/data
2)到另外一个xshell中登录config节点
./bin/mongo --port 30000
3)查看并修改副本集信息
> use local
> db.system.replset.find()
> cfg = db.system.replset.findOne({_id: 'configs'})
> cfg.members[0].host = "10.170.130.93:30000"
> cfg.members[1].host = "10.170.130.94:30000"
> cfg.members[2].host = "10.170.130.96:30000"
> db.system.replset.update({_id: 'configs'}, cfg)
4)按照以上方法修改其他config server节点配置信息,修改完成后启动三个节点
./bin/mongod -f conf/configsvr.conf
5)登录到primary节点,修改分片信息
> use config
> cfg=db.shards.findOne({_id:'shard1'})
> cfg.host="shard1/10.170.130.93:27101,10.170.130.94:27101"
> db.shards.update({_id:'shard1'},cfg)
> cfg = db.shards.findOne({_id: 'shard2'})
> cfg.host = "shard2/10.170.130.94:27102,10.170.130.96:27102"
> db.shards.update({_id: 'shard2'}, cfg)
> cfg = db.shards.findOne({_id: 'shard3'})
> cfg.host = "shard3/10.170.130.94:27103,10.170.130.96:27103"
> db.shards.update({_id: 'shard3'}, cfg)
3、修改shard节点信息
1)以standlone模式启动其中一个节点:
./bin/mongod --port 27101 --dbpath /data2/mongodb/shard1/data(指定的存储路径)
2)登录节点
./bin/mongo --port 27101
3)修改配置服务器信息
> use admin
> db.system.version.find()
> db.system.version.update({"_id" : "shardIdentity"},{"$set":{"configsvrConnectionString" : "configs/10.170.130.93:30000,10.170.130.94:30000,10.170.130.96:30000"}})
4)修改replica set的配置信息, replica set的信息都保存在local数据库的system.replset集合中
> use local
> cfg = db.system.replset.findOne({_id: 'shard1'})
> cfg.members[0].host="10.170.130.93:27101"
> cfg.members[1].host="10.170.130.94:27101"
> cfg.members[2].host="10.170.130.96:27101"
> db.system.replset.update({_id:'shard1'},cfg)
对shard1的其他两个节点以及shard2、shard3的三个节点做一样的操作。
5)启动shard节点
./bin/mongod -f conf/sd1.conf
./bin/mongod -f conf/sd2.conf
./bin/mongod -f conf/sd3.conf
4、修改mongos配置信息
1)修改配置文件
修改配置文件中的configdb,改为新IP的configserver
2)启动mongos节点
./bin/mongos -f conf/mongos.conf
6、验证是否成功
./bin/mongo --port 27001