mongodb 默认端口号_Web架构之路:MongoDB集群及高可用实践

MongoDB集群有副本集主从复制两种模式,不过主从模式在MongoDB 3.6已经彻底废弃,今天主要探讨副本集的搭建和使用,以及分片。

副本集介绍

副本集(Replica Set)即副本的集合,在MongoDB中通过先定义一个副本集合,然后将多个节点(副本)加入到这个集合中。简单来说就是集群中包含了多份数据,保证主节点挂掉,备节点能够继续提供数据服务,实现MongoDB的数据备份及高可用。

副本集具有以下特征

  • N 个节点的集群
  • 任何节点可作为主节点
  • 所有写入操作都在主节点上
  • 自动故障转移
  • 自动恢复

副本集搭建

条件有限,我们在单机上,通过三个不同的MongoD线程来搭副本集。

e11cddbd65baed0e22e5fde67267bd9a.png

主节点配置如下:

# 指定数据库路径dbpath=/usr/local/mongodb/data/db# 使用追加的方式写日志logpath=/usr/local/mongodb/log/mongodb.log# 使用追加的方式写日志logappend = true# 绑定服务IPbind_ip=127.0.0.1# 服务器端口port = 27017# 以守护进程的方式运行MongoDB,创建服务器进程fork = true# PID File 的完整路径pidfilepath=/usr/local/mongodb/var/mongod.pid# 不启用验证noauth=true# 最大同时连接数,默认2000maxConns=2000# 同步复制的日志大小设置,单位MBoplogSize=10# 副本集名称replSet=rs0

副本节点的配置和主节点的基本一致,需要修改一下数据库/日志/PID路径和端口号,副本集名称需一致:

# 指定数据库路径dbpath=/usr/local/mongodb/node/2/data/db# 使用追加的方式写日志logpath=/usr/local/mongodb/node/2/log/mongodb.log# 使用追加的方式写日志logappend = true# 绑定服务IPbind_ip=127.0.0.1# 服务器端口port = 27018# 以守护进程的方式运行MongoDB,创建服务器进程fork = true# PID File 的完整路径pidfilepath=/usr/local/mongodb/var/mongod2.pid# 不启用验证noauth=true# 最大同时连接数,默认2000maxConns=2000# 副本集replSet=rs0

依次启动三个mongod进程:

gitlib@devops:/usr/local/mongodb$ ps -aux | grep mongodroot 14293 0.8 2.3 1588812 92700 ? Sl 08:06 0:01 bin/mongod -f mongod.confroot 14652 3.5 2.2 1583180 89364 ? Sl 08:08 0:00 bin/mongod -f mongod2.confroot 14723 6.4 2.2 1583180 89172 ? Sl 08:08 0:00 bin/mongod -f mongod3.conf

在主节点中,先使用rs.initiate()方法进行副本集初始化操作,再使用rs.add()方法来添加副本集的成员:

> rs.initiate(){"info2" : "no configuration specified. Using a default configuration for the set
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值