总有人问起配置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. nginx支持.htaccess文件实现伪静态的方法

    方法如下: 1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件, vim /var/www/html/.htaccess 2. 在里面输入规则,我这里输入Discuz的伪静态 ...

  2. 【刷题】BZOJ 2243 [SDOI2011]染色

    Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如 ...

  3. 【bzoj2438】 中山市选2011—杀人游戏

    http://www.lydsy.com/JudgeOnline/problem.php?id=2438 (题目链接) 题意 n个点的有向图,其中有一个是杀手,每个人成为杀手的概率相同.警察询问一个人 ...

  4. Android Studio之BuildConfig类

    https://blog.csdn.net/lvxiangan/article/details/71601451 Android Studio开发中,把一个module输出打包为jar文件,我们会发现 ...

  5. 解题:HAOI 2012 道路

    题面 这题不开O2怎么过=.= 可能这种有关最短路的计数题做多了就有些感觉了...... 以每个点为基准跑出一张最短路图,然后对每个边$(u,v)$统计两个东西.一个$pre[u]$表示到达$u$这个 ...

  6. 【DSU on tree】【CF741D】Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

    Description 给定一棵 \(n\) 个节点的树,每条边上有一个字符,字符集大小 \(22\),求每个节点的子树内最长的简单路径使得路径上的字符经过重排后构成回文串. Limitation \ ...

  7. 微服务Kong(八)——代理参考

    Kong侦听四个端口的请求,默认情况是: 8000:此端口是Kong用来监听来自客户端的HTTP请求的,并将此请求转发到您的上游服务.这也是本教程中最主要用到的端口. 8443:此端口是Kong监听H ...

  8. 关于RESTful的理解

    如何更好的理解RESTful? (转自https://sanwen8.cn/p/54czrEO.html) 在测试开发中,我们经常接触到API,在调用API时候特别是第三方API时候,我们常常陷入以下 ...

  9. NO.6LINUX基本命令

    1.练习1 ) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cd / cat /etc/passwd /etc/group>1.txt 2) 将用户信息数据库文 ...

  10. P1077 摆花

    P1077 摆花 题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 m 盆.通过调查顾客的喜好,小明列出了顾客最喜欢的 n 种花,从 1 到 n 标号.为了在门口展出更多种花, ...