Mongodb复制相关概念以及搭建副本集

版权声明: https://blog.csdn.net/bsfz_2018/article/details/82906692

Mongodb主从复制

一个主节点+多个从节点,每个从节点知道主节点的地址

主服务器启动方式:mongod --master
从服务器启动方式:mongod --slave --source 主节点地址

单机搭建主从
为主节点建立数据目录,绑定端口10001 参数:-p 确保目录名称存在,如果目录不存在的就新创建一个

mkdir -p /home/repla/mongo_master
./mongod --dbpath /home/repla/mongo_master --port 10001

设置从节点,选择不同目录端口

mkdir -p /home/repla/mongo_slave1
./mongod --dbpath /home/repla/mongo_master --port 10002 --source localhost:10001

Mongodb副本集以及单机电脑上搭建

  • 也是一种主从集群,不过具有自动故障恢复功能
  • 副本集没有固定的主节点,但是和主从很像,因为总会有一个活跃节点(primary)和一个或多个备份节点(secondary)
  • 副本集具有自动化管理功能,当活跃节点死机时,自动提示备份节点为活跃节点,确保运作正常

搭建步骤:
1 下载mongodb适用于linux的安装软件,地址:https://www.mongodb.com/download-center/v2/community
选择Servers,然后OS选择Linux
2 创建副本集文件夹,本次创建在/home/mongo_replica
3 上传下载的tar包,使用如下命令解压

tar -xzvf mongodb-linux-x86_64-4.0.2.tgz /home/mongo_replica/node1

4 进入/home/mongo_replica目录复制node1到当前路径下的node2

cp -r node1 node2

5 在/home/mongo_replica下创建节点1和节点2的数据目录data下的节点1目录和节点2目录

mkdir -p /home/mongo_replica/data/node1_data /home/mongo_replica/data/node2_data

6 跟主从复制不同的地方,主从复制设置监听主节点的说话可以用localhost,但是副本集不可以,需要获得主机名,采用如下命令获取

[root@VM_0_3_centos mongo_replica]# cat /etc/hostname 
VM_0_3_centos

7 为副本集起名,以区分不同副本集,这里取名logReplica
8 复制会话窗口,会话窗口1进入mongo_replica目录下的node1/bin,会话窗口2进入mongo_replica目录下的node2/bin,分别执行如下命令启动副本集节点1,2

[root@VM_0_3_centos bin]# ./mongod --dbpath /home/mongo_replica/data/node1_data --port 10001 --replSet logReplica/VM_0_3_centos:10002
[root@VM_0_3_centos bin]# ./mongod --dbpath /home/mongo_replica/data/node2_data --port 10002 --replSet logReplica/VM_0_3_centos:10001

9 两边会提示如下,提示我们需要配置副本集,因为还需要在shell下初始化副本集

2018-09-30T10:51:46.438+0800 I CONTROL  [LogicalSessionCacheReap] Sessions collection is not set up; waiting until next sessions reap interval: Replication has not yet been configured

10 在shell中初始化副本集,命令如下:

下回补充。。。

猜你喜欢

转载自blog.csdn.net/bsfz_2018/article/details/82906692
今日推荐