扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
说明:
复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。其优点如下:
1 . 让数据更安全。
2 . 高数据可用性。
3 . 灾难恢复。
4 . 无停机维护(如备份、索引重建、故障转移)。
5 . 读绽放(额外的副本读取)。
6 . 副本集对应用程序是透明的。
.
.
实验环境:
.
.
实验步骤如下:(先安装好mongodb)
.
.
1 . 关闭防火墙。
systemctl stop firewalld.service
setenforce 0
添加3个实例,为这些实例创建数据存储目录与日志存储目录,以及提权
mkdir -p /data/mongodb/mongodb{2,3,4}
mkdir -p /data/mongodb/logs
touch /data/mongodb/logs/mongodb{2,3,4}.log
chmod 777 /data/mongodb/logs/*.log
.
.
2 .进入配置文件,设置数据类型名称。
vim /etc/mongod.conf
replication:
replSetName: abcrs #设置数据类型名称
.
.
3 . 更改配置文件后,把服务刷新下。
mongod -f /etc/mongod.conf --shutdown #关闭mongod
mongod -f /etc/mongod.conf #开启mongod
.
.
4 . 将配置文件复制一份,并更改相应的参数,作为mongod2的配置文件。
cp -p /etc/mongod.conf /etc/mongod2.conf #复制配置文件,并重命名
vim /etc/mongod2.conf
path: /data/mongodb/logs/mongodb2.log #日志文件存放位置
....
dbPath: /data/mongodb/mongodb2 #数据文件存放位置
....
port: 27018 #端口号
.
.
5 . 同样更改另外两个配置文件。
cp -p /etc/mongod2.conf /etc/mongod3.conf
cp -p /etc/mongod2.conf /etc/mongod4.conf
.
.
6 . 更改好后,启动实例。
mongod -f /etc/mongod2.conf
mongod -f /etc/mongod3.conf
mongod -f /etc/mongod4.conf #启动实例
查看一下端口是否开启。netstat -ntap #查看开启端口
此时就可以进入实例查看。
mongo --port 27018
mongo --port 27019
mongo --port 27020 #进入实例查看
.
.
7 .配置三个节点复制集。
db.stats() #查看复制集
cfg={"_id":"abcrs","members":[{"_id":0,"host":"192.168.200.132:27017"},{"_id":1,"host":"192.168.200.132:27018"},{"_id":2,"host":"192.168.200.132:27019"}]} #配置节点服务器相关联端口
.
.
8 . 启动复制集。rs.initiate(cfg) #启动复制集
.
.
9 . 可以进行节点的添加与删除,这里就不做演示了。代码如下:
rs.add("192.168.200.132:27020") #添加节点
rs.remove("192.168.200.132:27020") #删除节点
.
.
10 . 节点发生故障是不可避免的,故障转移也必不可少。
ps aux | grep mongod #查看开启节点
kill 6233 #关掉一个进程节点
此时的主节点就会切换到一个正常的节点上,故障转移。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流