您的位置:首页 > 编程语言 > Go语言

mongo副本集ip改变导致启动失败的解决办法

2017-12-19 22:54 453 查看
在学习mongo时,通常会在虚拟机中安装多个Linux系统并创建副本集。如果Linux系统没有设置固定ip,ip可能会因为某些原因改变,导致副本集启动失败。本文主要介绍如何处理这类问题。

如果只有部分ip改变,启动副本集时某个节点是
primary
节点。那么在
primary
节点中执行如下命令:

// 1
use admin

// 2
cfg = {
_id : "rs0",
members: [ { _id : 0, host : "192.168.79.128:27017" }, { _id : 1, host : "192.168.79.129:27017" }, { _id : 2, host : "192.168.79.130:27017" } ]
}

// 3
rs.reconfig(cfg)


192.168.79.128:27017
为对应机器的ip和端口号。

如果所有系统的ip都改变了,启动时没有
primary
节点,则任意选择一个节点执行上面命令,不过第三步的命令改为:

rs.reconfig(cfg, {force : true})


配置副本集时也可使用主机名的方式,只需要修改
/etc/hosts
文件,把ip和主机名作映射:

// 192.168.79.128配置
192.168.79.129  zong1
192.168.79.130  zong2

// 192.168.79.129配置
192.168.79.128  zong
192.168.79.130  zong2

// 192.168.79.130配置
192.168.79.128  zong
192.168.79.129  zong1


这样,ip改变时只需要修改
/etc/hosts
文件中的ip就可以了。

最后也是推荐的方式是为每个副本集中的机器设置固定ip,这样ip就不会改变了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: