【MongoDB】四、MongoDB副本集的部署

【MongoDB】四、MongoDB副本集的部署


实验目的

       能够通过部署副本集理解副本集机制,从而解决大数据项目中数据丢失的问题


实验内容

环境准备:根据表中的信息完成3台MongoDB服务器的部署(XXX是姓名拼音首字母)。
(环境准备在专栏下单独一篇文章中)
在这里插入图片描述

(1)分别在三台服务器XXX01、XXX02和XXX03上以副本集模式启动MongoDB服务。
(2)在服务器XXX01的MongoDB客户端中执行副本集初始化操作。
(3)查看副本集成员状态。
(4)验证副本节点是否成功同步主节点写入的文档内容。
(5)验证副本集是否会实现自动故障转移。


实验步骤

(1)分别在三台服务器zrz01、zrz02和zrz03上以副本集模式启动MongoDB服务。
命令1:

mongod --replSet itcast --dbpath=/opt/servers/mongodb-demo/mongodb/data/db/ --logpath=/opt/servers/mongodb-demo/mongodb/data/log/mongologs.log --port 27017 --bind_ip zrz01 --logappend --fork

命令2:

mongod --replSet itcast --dbpath=/opt/servers/mongodb-demo/mongodb/data/db/ --logpath=/opt/servers/mongodb-demo/mongodb/data/log/mongologs.log --port 27017 --bind_ip zrz02 --logappend --fork

mongo --host zrz02 --port 27017

命令3:

mongod --replSet itcast --dbpath=/opt/servers/mongodb-demo/mongodb/data/db/ --logpath=/opt/servers/mongodb-demo/mongodb/data/log/mongologs.log --port 27017 --bind_ip zrz03 --logappend --fork

mongo --host zrz03 --port 27017

(2)在服务器zrz01的MongoDB客户端中执行副本集初始化操作。
命令:

rs.initiate()
rs.add(“zrz02:27017”)
rs.add(“zrz03:27017”)

(3)查看副本集成员状态。
命令:

rs.status()

(4)验证副本节点是否成功同步主节点写入的文档内容。
命令:

//在服务器zrz01(副本集主节点)
use test
db.user.insert({“name”:”zhangsan”})
db.user.find()


//在服务器zrz02和服务器zrz03(副本集副本节点)
use test

//由于副本节点默认没有读取副本集内容权限,所以要先开启读取权限再执行查看文档命令
rs.slaveOk()
db.user.find()

在这里插入图片描述


(5)验证副本集是否会实现自动故障转移。
命令:

ps -ef | grep mongodb

在这里插入图片描述


实验小结

       通过本次实验,我理解了布置副本集的原因。在实验过程中遇到了很多硬件或者是软件上的问题,请教老师,询问同学,上网查资料,都是解决这些问题的途径。最终将遇到的问题一一解决最终完成实验。
注意事项:
1、有疑问前,知识学习前,先用搜索。
2、熟读写基础知识,学得会不如学得牢。
3、选择交流平台,如QQ群,网站论坛等。
4、尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。

我将本次实验的一些注意事项总结如下:
1、关于主机名和IP地址的映射问题解决方案:
        vi /etc/hosts 将三台虚拟机的映射全部设置。

在这里插入图片描述

2、防火墙问题
       关闭防火墙两个操作,关闭firewalld 和 selinux

systemctl disable firewalld -- 永久关闭防火墙
vi /etc/sysconfig/selinux  
SELINUX=disabled

在这里插入图片描述

       设置保存后重启虚拟机即可关闭防火墙。

3、关于部署副本时 Connect refused问题解决方案:
进入mongodb安装目录的bin目录,新增mongodb.conf文件,输入:

bind_ip=0.0.0.0

在这里插入图片描述
       保存退出。
ps:bind_ip标识允许连接的客户端IP地址,此处设为0.0.0.0,表示允许所有机器连接。也可设置特定机器的IP。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢热型网友.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值