【技术指南】Ubuntu-mongoDB服务器集群搭建简要指南2——测试副本集

in #ubuntu7 years ago

版权声明:以下内容来自微信公共帐号“EOS技术爱好者”,搜索“EOSTechLover”即可订阅,本原创文章作者Benjamin Wang@EOS Shenzhen。转载必须保留以上声明。仅授权原文转载。


本文内容承接上一篇文章:【技术教程】Ubuntu-mongoDB服务器集群搭建简要指南1——安装mongoDB https://steemit.com/ubuntu/@eoshenzhen/ubuntu-mongodb-1-mongodb,点击可查看安装的具体内容。

副本集测试

1、修改配置文件

上一节我们已经安装了三台服务器,到了这一节,我们首先要做的是启动副本集参数;

进入monbodb的etc目录,修改配置文件
DB2-1.jpeg

使得副本集参数生效,并且设置副本集名称myrepl
DB2-2.jpeg

2、启动实例和副本集,进行测试

为确保过去启动的实例关闭,可以使用一下命令

BD2-3.jpeg

用新的配置文件启动数据库实例

DB2-4.jpeg

启动mongo数据库shell

DB2-5.jpeg
分别用三台服务器进入mongoDB的shell,可以看到:
DB2代码图-1.jpeg

目前三台机的状态还是相互感知不到对方的存在的,需要创建一个配置文件告诉他们副本集的每一个成员;

在其中一台机的shell配置副本集。本实例使用的是内网IP

注:测试之前建议先ping一下几个服务器之间相互通不通,注意防火墙设置

DB2-6.jpeg

DB2代码图-2.jpeg

初始化副本集;
DB2-7.jpeg

之后成员会自动选出一个主节点PRIMARY;

DB2代码图-3.jpeg

其他的机器链接成功后会自动显示为SECONDARY
DB2代码图-4.jpeg

这个时候是只有主节点可以写和读的;

使用test集合,插入文档,并且查询;

DB2-8.jpeg
DB2代码图-5.jpeg

在另外两台副节点上查询

副节点默认是不能查询数据的,使用命令设置可以查询
DB2-9.jpeg

可以看到,主节点写入的数据,副节点也可以查询到

第一步写、读测试成功;

进一步测试、副节点是不可以写入(副节点是从主节点更新数据);

DB2代码图-6.jpeg

3、副本集相关命令

查看副本集状态

rs.status()

显示当前节点和主节点信息

rs.isMaster()

添加一个节点

rs.add("host:port")

rs.remove("host:port")

查看副本集配置

rs.config()

根据config配置对象,重新配置副本集

rs.reconfig(config)

4、模拟主节点掉线,副节点被选为主节点

在主节点shell关闭主节点数据库
DB2-10.jpeg

DB2代码图-7.jpeg
在另外两台服务器查看,有一台自动变为主节点

DB2代码图-8.jpeg

重新用配置文件进入刚才关闭的mongoDB服务器

DB2-11.jpeg

再进入shell,前面关闭的机器已经自动变为副节点。


本文内容不构成本号任何立场

本原创文章作者为Benjamin Wang@EOS Shenzhen,首发于微信公众号“EOS技术爱好者”。转载请参照本文文首说明。

加入我们的知识星球吧!
WechatIMG2975.jpeg

关于我们 更多联系:

Website:https://eoshenzhen.io

Steem:https://steemit.com/@eoshenzhen

Buzy:https://busy.org/@eoshenzhen

Telegram:https://t.me/eoshenzhen

Twitter:https://twitter.com/eostechlover

简书:EOS技术爱好者

新浪微博:EOSTechLover

Coin Marketplace

STEEM 0.19
TRX 0.18
JST 0.034
BTC 89237.53
ETH 3129.21
USDT 1.00
SBD 2.76