mongo添加仲裁节点及添加后无反应

首先确保mongo副本集中有一个主节点(nosql01)和两个副结点(nosql02、nosql03),添加仲裁节点步骤如下:

(1)、在主节点(nosql01)上登录mongodb客户端后移除服务器nosql03结点(如果已经进行了安全认证则需要创建root用户并使用root用户对副本集进行相关配置操作,我已进行安全认证)

进行了安全认证后的登录代码

#切换到mongodb的bin目录下登录mongodb客户端
cd /opt/servers/mongodb_demo/mongodb/bin

./mongod --replSet mongo --keyFile /opt/servers/mongodb_demo/standalone/key/keyfile --dbpath=/opt/servers/mongodb_demo/standalone/data/ --logpath=/opt/servers/mongodb_demo/standalone/logs/mongodb.log --port 27017 --bind_ip nosql01 --logappend --fork

./mongo --host nosql01 --port 27017
# 移除nosql03结点
rs.remove("nosql03:27017")

未进行安全认证的话将登录代码--keyFile以及后面的路径去掉就好。

(2)、若nosql03已经登录了mongodb客户端需要退出mongodb客户端并关闭mongodb进程,备份mongodb数据存放目录

mv /opt/servers/mongodb_demo/standalone/data /opt/servers/mongodb_demo/standalone/data-old

在nosql03上创建一个新的mongodb数据存放目录并以此目录重新启动mongodb

#创建新目录存放mongodb数据
mkdir /opt/servers/mongodb_demo/standalone/data
#重新登录mongodb客户端
./mongod --replSet mongo --keyFile /opt/servers/mongodb_demo/standalone/key/keyfile --dbpath=/opt/servers/mongodb_demo/standalone/data/ --logpath=/opt/servers/mongodb_demo/standalone/logs/mongodb.log --port 27017 --bind_ip nosql03 --logappend --fork

未进行安全认证的话将登录代码--keyFile以及后面的路径去掉就好。

其中--dbpath后面的路径为新创建的目录路径。

(3)、在nosql01主节点中将nosql03以仲裁节点的角色加入到副本集中

rs.addArb("nosql03:27017")

此处可能会出现小问题,执行上述添加代码后没有反应,解决办法:

退出nosql01的mongodb客户端并结束mongodb进程,重新登陆mongodb客户端后在主节点设置:

db.adminCommand({"setDefaultRWConcern" : 1,"defaultWriteConcern" : {"w" : 2}})

执行上述代码后再执行添加仲裁节点的代码就好了。成功添加显示如下:

 (4)、在主节点运行rs.conf()验证是否添加成功。

 其中nosql03的arbiterOnly为true则说明添加成功。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值