千家信息网

mongodb 添加复制集

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,说明:复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。其优点如下:1 . 让数据更安全。2 . 高数据可用性。3
千家信息网最后更新 2024年11月11日mongodb 添加复制集

说明:
复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。其优点如下:
1 . 让数据更安全。
2 . 高数据可用性。
3 . 灾难恢复。
4 . 无停机维护(如备份、索引重建、故障转移)。
5 . 读绽放(额外的副本读取)。
6 . 副本集对应用程序是透明的。

.
.
实验环境:

.
.
实验步骤如下:(先安装好mongodb)
.
.
1 . 关闭防火墙。

systemctl stop firewalld.servicesetenforce 0

添加3个实例,为这些实例创建数据存储目录与日志存储目录,以及提权

mkdir -p /data/mongodb/mongodb{2,3,4}mkdir -p /data/mongodb/logstouch /data/mongodb/logs/mongodb{2,3,4}.logchmod 777 /data/mongodb/logs/*.log


.
.
2 .进入配置文件,设置数据类型名称。

vim /etc/mongod.conf  replication:     replSetName: abcrs     #设置数据类型名称


.
.
3 . 更改配置文件后,把服务刷新下。

mongod -f /etc/mongod.conf --shutdown    #关闭mongodmongod -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 27018mongo --port 27019mongo --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   #关掉一个进程节点


此时的主节点就会切换到一个正常的节点上,故障转移。

0