总有人问起配置ReplicaSet不成功,总结了一下基本上的可能性就几种,检查步骤如下:

假设三台机器的IP分别是

A: 192.168.1.2 a.test.com
B:192.168.1.3 b.test.com
C: 192.168.1.4 c.test.com

1. mongod有在运行吗?

虽然这是个很低级的问题,但是还是要不厌其烦地说一句,请先检查是否真的运行了mongod。

# ps awx | grep mongod
? Sl : /usr/bin/mongod -f /etc/mongod.conf <--正在运行的mongod进程
pts/ S+ : grep mongod

2. bind_ip不正确

如果是从YUM源安装,CentOS默认bind_ip配置为127.0.0.1,所以是绝对不可能从其他机器连上的。验证办法为:

netstat -pln | grep mongod

如果绑定地址为:0.0.0.0:27017或192.168.1.2(局域网IP):27017则没有问题。

如需修改,编辑/etc/mongod.conf中

bind_ip=192.168.1.2

再重启mongod即可。

注意:在生产环境下不建议使用bind_ip=0.0.0.0,因为这样极易向公网暴露mongodb服务,造成不安全隐患。这也是为什么默认bind_ip是127.0.0.1的原因——让配置人员必须关注一下这个配置。

3. 防火墙未打开端口

经过以上步骤后,在正常情况下在任意一台机器上应该可以连接其他两台机器的27017端口。比如在A上时

mongo 192.168.1.3
mongo 192.168.1.4

应该都是可以顺利连接的,如果不行,那应该检查一下防火墙是否有在运作并阻止了你的访问。

这是一个关于iptables的基本操作问题,请查阅iptables相关使用方法,在此不再赘述。

4. 使用域名添加成员时请注意

跟步骤3一样的原因,因为任意两台实例必须能够互相连接,所以如果使用域名,应该确保使用到的域名在各个结点上都能够正常解析。在本例中三个实例都必须能够正常解析a/b/c.test.com到对应的机器

ping a.test.com
ping b.test.com
ping c.test.com

同时可见为什么不允许使用localhost/127.0.0.1作为地址添加进去,因为大家都会把localhost/127.0.0.1解析为自己,导致混乱。

5. keyfile配置问题

replica set成员必须使用同一个keyfile,内容可以随自己意愿。注意这个文件可以放在任意地方,但是权限必须是600,所属用户必须是启动mongod的用户

比如如果用service启动mongod,则该文件应该属于mongod:mongod;如果是用root用户启动,则该文件应该属于root:root。配置错误的情况下是会在日志中看到一个错误的。

以上是近期遇到的常见情况,随时补充。

配置replica set的常见问题的更多相关文章

  1. Ubuntu配置LAMP+MediaWiki及常见问题

    /*在实验室觉得文档传来传去太麻烦了,干脆在实验室内部搞个wiki算了,于是网上搜集搜集资料,配了一个,由于时间仓促,mediaWiki比较高级的东西没来的及细看,等以后用的时候再完善吧*/ 环境:U ...

  2. [MongoDB] 安装MongoDB配置Replica Set

    MongoDB的环境主要包括StandAlone,Replication和Sharding. StandAlone:单机环境,一般开发测试的时候用. Replication:主从结构,一个Primar ...

  3. ubuntu 配置 jdk的一些常见问题

    首先下好压缩包.我用的是tar.gz 然后在/usr下解压,用mv或rename修改下文件夹名字,省得名字太长,然后再配置环境变量. so easy. 然而,  接下来你肯定会用 source /et ...

  4. iOS下OpenCV开发配置的两个常见问题(sign和link)

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 先上可以运行官方推荐的<OpenCV for iOS samples>的demo链 ...

  5. IIS配置过程中的常见问题

    解析Json需要设置Mime IIS6.0 1.打开IIS添加Mime项 关联扩展名:*.json内容类型(MIME):application/x-JavaScript      2.添加映射: 位置 ...

  6. centos关于vsftpd的配置、配置说明及常见问题

    一.安装vsftpd 安装yum install -y vsftpd 开机启动 chkconfig vsftpd on 启动 service vsftpd start 加入防火墙 vi /etc/sy ...

  7. yum命令配置及使用说明和常见问题处理

    一. 重装yum 1. 执行如下命令,卸载yum命令程序 rpm -qa |grep yum |xargs rpm -e --nodeps 2. 依次执行如下命令,下载yum.yum-plugin-f ...

  8. MongoDB的Replica Set以及Auth的配置

    http://blog.0x01.site/2017/01/13/MongoDB%E7%9A%84Replica-Set%E4%BB%A5%E5%8F%8AAuth%E7%9A%84%E9%85%8D ...

  9. mongodb replica set 配置高性能多服务器详解

    mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,请参考:详解mongodb 主从配置.master-slave模式,不能自动实现故障转移和恢复.所以推荐大家使用mon ...

随机推荐

  1. linux下tomcat、jenkins环境搭建

    1.安装JDK  我不列出来了,自行百度 java -version 2.安装tomcat (1)将下载的tomcat压缩包 tar -zxvf apache-tomcat-8.5.29.tar.gz ...

  2. [BZOJ3065]带插入区间K小值 解题报告 替罪羊树+值域线段树

    刚了一天的题终于切掉了,数据结构题的代码真**难调,这是我做过的第一道树套树题,做完后感觉对树套树都有阴影了......下面写一下做题记录. Portal Gun:[BZOJ3065]带插入区间k小值 ...

  3. 【BZOJ1041】圆上的整点(数论)

    [BZOJ1041]圆上的整点(数论) 题面 BZOJ 洛谷 题解 好神仙的题目啊. 安利一个视频,大概是第\(7\)到\(19\)分钟的样子 因为要质因数分解,所以复习了一下\(Pollard\_r ...

  4. BZOJ 50题纪念?

    是的,这次的纪念帖也比较磕碜-- 但是还有更磕碜的↓↓↓ 2017年6月7日,我在我的旧博客发了个bzoj10题纪念-- 那时我还是一个又young又simple的菜鸡(现在可能也是--),省选之后觉 ...

  5. 【IOI 2018】Werewolf 狼人

    虽然作为IOI的Day1T3,但其实不是一道很难的题,或者说这道题其实比较套路吧. 接下来讲解一下这个题的做法: 如果你做过NOI 2018的Day1T1,并且看懂了题面,那你很快就会联想到这道题,因 ...

  6. CF960G Bandit Blues 【第一类斯特林数 + 分治NTT】

    题目链接 CF960G 题解 同FJOI2016只不过数据范围变大了 考虑如何预处理第一类斯特林数 性质 \[x^{\overline{n}} = \sum\limits_{i = 0}^{n}\be ...

  7. 【poj2406】 Power Strings

    http://poj.org/problem?id=2406 (题目链接) 题意 给定一个字符串 L,已知这个字符串是由某个字符串 S 重复 R 次而得到的, 求 R 的最大值. Solution 后 ...

  8. UVA.10791 Minimum Sum LCM (唯一分解定理)

    UVA.10791 Minimum Sum LCM (唯一分解定理) 题意分析 也是利用唯一分解定理,但是要注意,分解的时候要循环(sqrt(num+1))次,并要对最后的num结果进行判断. 代码总 ...

  9. 单点登录(五)-----遇到问题-----cas server 源码部署tomcat运行报错BeanCreationException:Error creating bean with name 's

    我们在上一篇文章已经解决了把下载好的cas server源码部署到tomcat缺少子项目编辑文件或者jar包导致找不到class报错的问题 单点登录(四)-----遇到问题-----cas serve ...

  10. 【bzoj3881】【Coci2015】Divljak

    题解 对$S$集合ac建自动机,把$T_{i}$放在里面跑,记录路径上的所有节点并对它们在fail树上求到root的树链并: 这样就得到了$T_{i}$所有的子串: 动态将$T_{i}$加入直接用树状 ...