MongoDB分片副本集-修改某个分片或某个config服务器的ip地址
发布日期:2021-11-15 14:57:43 浏览次数:41 分类:技术文章

本文共 2176 字,大约阅读时间需要 7 分钟。

因虚拟机地址被占用,则需要重新设置ip地址,这时需要修改副本集中的相对应的IP地址配置。

1.找到mongos入口进行登录,通过mongos修改config服务器中分片副本集的IP地址:
旧ip地址:192.168.1.1
新ip地址:192.168.1.3

> use admin;> db.auth('root','root');> sh.status(); ##分片副本集信息及状态> use config;> db.shards.find();[	{
"_id" : "shard1","host" : "shard1/192.168.1.1:27117,192.168.1.2:27117","state" : 1}, {
"_id" : "shard2","host" : "shard2/192.168.2.1:27117,192.168.2.2:27117","state" : 1}]> db.shards.update({
_id:"shard1"},{
$set:{
"host":"shard1/192.168.1.3:27117,192.168.1.2:27117"}});> db.shards.find();[ {
"_id" : "shard1","host" : "shard1/192.168.1.3:27117,192.168.1.2:27117","state" : 1}, {
"_id" : "shard2","host" : "shard2/192.168.2.1:27117,192.168.2.2:27117","state" : 1}]> use admin;> sh.status(); ##则可以看到最新的分片副本集信息> exit

2.找到primary主机,如果都已经不存在primary主机的话,则任意进入该副本集的任意一台主机进行登录:

> use admin;> db.auth('root','root');> rs.config();##观察members中哪一部分需要更改,会影响下面members[n]中n的值> rsc = rs.config();> rsc.members[0].host = "192.168.1.3:2777";> rs.reconfig(rsc);##如果不是primary主机,则会发生replSetReconfig should only be run on PRIMARY, but my state is REMOVED; use the \"force\" argument to override这个错误,那么则运行rs.reconfig(rsc,{"force":true});> rs.config();##观察members中地址是否已经变更> exit

2.1.如果登录权限登录失败则可以单机模式运行,创建root账户,再以副本集模式运行,用root账户登录。

Mongodb关闭方式见该链接:https://blog.csdn.net/qq_39741836/article/details/106519960
将conf配置文件中的replSetName: "shard1"删除,再进行启动MongoDB:

> use admin> db.createUser({
user:"root",pwd:"root",roles:[{
role:"root",db:"admin"}]});> db.auth('root','root');> exit

修改某个分片的ip地址,需以上两步即可完成。

修改config服务器的ip地址,需要以上第二步骤,修改config在其副本集中的ip地址。

再修改mongos配置文件conf中的config服务器的ip地址:
mongos关闭方式见该链接:https://blog.csdn.net/qq_39741836/article/details/106519960
以下为mongos配置文件mongos.conf:

systemLog:    destination: file    path: "/root/mongodb/mongos/log/mongos.log"    logAppend: truesharding:    configDB: configs1/192.168.9.1:27118,192.168.9.2:27118,192.168.9.3:27118security:    keyFile: "/root/mongodb/key/mongodb_keyfile"    clusterAuthMode: "keyFile"processManagement:    fork: truenet:    bindIp: 0.0.0.0    port: 27119

修改sharding.configDB的config副本集ip地址,修改完成后再启动mongos服务器:

mongos -f /root/mongodb/mongos/mongos.conf

即可完成对config服务器ip地址的修改

转载地址:https://blog.csdn.net/qq_39741836/article/details/106540370 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:MongoDB-JavaScript函数
下一篇:各种MongoDB的启动和关闭方式

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月05日 07时29分20秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章