mongodb 添加复制集
说明:
复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。其优点如下:
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 #关掉一个进程节点
此时的主节点就会切换到一个正常的节点上,故障转移。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341