Mongodb 副本集搭建问题总结及解决办法副本集搭建问题总结及解决办法
Mongodb 副本集搭建问题总结及解决办法副本集搭建问题总结及解决办法
Mongodb数据库的副本集是由多台服务器组成,基中一台是主节点,其它为从节点,如果主节点宕机就自动切换到任意一个
从节点。如果以前的主节点修复完成和正常运行就自动变成从节点,从节点不能查询数据。也可以在一台服务器装多个
Mongodb端口不一样。
在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件
服务器的系统,因为这种迁移将是牵一发而动全身的。服务器的系统,因为这种迁移将是牵一发而动全身的。
但是,却仍然有这种情况存在,就如我这几天主要负责的事,就是一个系统的全部服务器迁移中的部分机器迁移,还有一部分
由别人负责。
这个系统涉及到flume数据采集,storm数据分析,rabbitmq消息分发,ehcache缓存提升系统性能,MongoDB副本集存储数
据,tomcat管理系统应用等,架构基本如下:
而这里我主要负责的是rabbitmq、tomcat、ehcache、mongodb,这里边tomcat、ehcache的安装和配置都比较简单,只是
rabbitmq需要依赖于erlang。而erlang又需要依赖一些其他的东西,这些东西需要root权限执行yum,而我们没有root权限,于
是稍微花了一点点功夫。
除此之外,mongodb副本集的再次搭建也稍微遇到了一点点问题,不过好在一切还是按照预料中发展的,以前没遇到过的问
题也通过经验猜想完美解决。
之所以mongodb副本集搭建会遇到一些问题,大部分原因是因为这次并非亲自动手,而是由所带的新人操作。
首先,按照我给的文档他一步步的操作下去,结果在端口上,不知道是因为习惯还是因为什么,他所设置的端口并不是我们要
求的端口。
那么这时候当我要求他改成要求的端口时,他有些茫然,不知道是应该把所有配置删了重配,还是要怎样。
由于时间关系,于是我给他提供了一个方案,就是直接使用配置优先级的方式改掉端口。之前我写过的副本集搭建的文档中应
该有说过优先级怎么改,大体上是下边三步:
config=rs.conf()
config.members[0].priority=2
rs.reconfig(config)
那么根据这个,我们设想的改端口应该是下边这样(下边ip和端口只是随便假设的,生产环境自然不能随便透漏):
config=rs.conf()
config.members[0].host="192.168.117.88:37017"
rs.reconfig(config)
但是结果呢,在第三步的时候抛出异常,遗憾的是当时只为了解决问题而没有截图,忘记具体是什么异常了,但大体意思是说
这个端口的成员不存在。
评论0
最新资源