MongoDB3.4ReplicaSet

本文主要记录mongodb的Replica Set集群方式(如图1),该集群由Primary(主节点)、Secondary(从节点)、Arbiter(投票节点),三种节点组成,其中Primary、Secondary节点数据同步,Arbiter节点不存储数据,只有在Primary节点宕机时做投票选出新的Primary节点用。本次将用最少的节点来模拟集群服务。

原文地址: https://docs.mongodb.com/manual/introduction/ https://docs.mongodb.com/v2.4/reference/replica-configuration/

拓扑结构

安装MongoDB 3.4。

为图方便,直接设置官方yum源安装rpm包(官方推荐)

vi /etc/yum.repos.d/mongodb-org-3.4.repo
	[mongodb-org-3.4]
	name=MongoDB Repository
	baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
	gpgcheck=1
	enabled=1
	gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
yum clean all
yum install -y mongodb-org

关掉selinux,并开放27017端口

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config	
setenforce 0		#暂时让selinux失效,免得重启服务器
firewall-cmd --permanent --add-port=27017/tcp	#开放端口,如果开启了防火墙的话
firewall-cmd --reload		#重新加载服务,使开放端口命令生效

启动服务

mkdir -p /data/db		#创建默认数据库路径
mongod --replSet rs0 &	#启动mongodb服务,并指定集群名为rs0 ,&表示在后台运行
mongo			#进入mongodb服务命令行模式
>rs.add("mongodb1.example.net")		#添加节点1,因为只有一个,默认为primary
>rs.add("mongodb2.example.net")		#添加节点2,因为节点1已经添加,自动成为secondary
>rs.addArb("arbiter.example.net")		#添加arbiter节点,投票(仲裁)节点,无数据
>rs.status()					#查看当前节点状态

连接服务:

官方文档

最理想的拓扑结构

最后更新于