版权声明: 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中初始化副本集,命令如下:
下回补充。。。