mongo副本集ip改变导致启动失败的解决办法
在学习mongo时,通常会在虚拟机中安装多个Linux系统并创建副本集。如果Linux系统没有设置固定ip,ip可能会因为某些原因改变,导致副本集启动失败。本文主要介绍如何处理这类问题。如果只有部分ip改变,启动副本集时某个节点是primary节点。那么在primary节点中执行如下命令:// 1use admin// 2cfg = {_id : "rs0",members: [
·
在学习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就不会改变了。
更多推荐
已为社区贡献3条内容
所有评论(0)