mongodb副本集_设置MongoDB副本集分为4个步骤

mongodb副本集

介绍

在详细介绍配置MongoDB副本集之前,让我简要介绍一下它们:

  • 副本集是Mongodb数据库提供的功能,可实现高可用性和自动故障转移。
  • 它是一种传统的主从配置,但具有自动故障转移功能。
  • 基本上,它是mongod实例的组/集群,它们相互通信,相互复制以提供高可用性并进行自动故障转移
  • 基本上,副本集中至少存在2个,最多可以存在12个mongod实例
  • 在副本集中,存在以下类型的服务器。 首先,一台服务器始终是主要服务器。
    • Primary:存储数据,所有写/读操作均从任何客户端进行到该服务器。
  • 它提供了自动故障转移功能,这意味着它无需人工干预即可将另一台服务器设置为主服务器,并且具有内部机制来选举新的主服务器。
  • 在副本集中,如果主服务器由于网络错误而停机,或者副本集中的其他服务器无法访问主服务器,或者主服务器变得无响应,则由所有服务器在内部触发选举新的主服务器的选择机制,这是非常自动的。

在本文中,我将通过4个简单步骤向您展示3个成员/节点群集副本集的配置。 在此副本集配置中,我们将创建两台数据服务器,其中一台将为主服务器,另一台将为辅助服务器,而另一台非仲裁服务器。 因此,让我们继续按照以下4个步骤配置副本:

步骤1:设置副本集的每个实例

正如我在上一篇文章中讨论的那样,使用以下信息创建和设置3个新的mongodb服务器实例实例,但不要启动这些服务器实例:

  • 服务器1
port = 27017directory path =<dir path>\ rs1E.g.directory structure :  I:\workspace\mongo\rs1\bin
  • 服务器2
port = 26017directory path =<dir path>\ rs2E.g.directory structure  I:\workspace\mongo\rs2\bin
  • 服务器3
port = 25017directory path =<dir path>\ rs2E.g.directory structure  I:\workspace\mongo\rs3\bin

步骤2:修改mongodb.conf以包括副本集信息

编辑每个服务器的mongod.conf以包括以下属性:

  • replSet =副本集的唯一名称,赋予所有成员
  • rest =为管理网页启用休息界面

您可以为副本集指定任何名称,但请确保所有成员名称相同。 继续给你想要的名字。 在这里,我使用的是“ damon”

例如,将以下内容追加到mongod.conf文件中

replSet=damon
rest=true

第三步:启动所有服务器

完成必要的配置后,继续以任意顺序启动服务器

rs1 >> mongod -f \rs1\mongod.conf
rs2 >> mongod -f \rs2\mongod.conf
rs3 >> mongod -f \rs3\mongod.conf

步骤4:配置服务器以包含在副本集中

现在,所有服务器都已启动,但它们没有相互连接。 换句话说,它们不是副本集的一部分。 因此,为此,我们需要执行以下操作。 同样,我们将创建两个数据服务器,即一个主服务器,另一个辅助服务器和一个仲裁服务器。 现在,使用MongoDB二进制文件中提供的mongo shell连接到任何一台服务器。

这里。 让我们使用mongodb shell连接到服务器rs1

rs1 > /rs1/bin/mongo.exe --port 27017

之后,您将得到提示,请输入mongo shell,如下图所示:

png; base645e9fd8342dd15fa1

对于副本配置,mongo shell提供了预定义的对象rs,其中包含以下用于配置的功能:

  • initiate() =>在当前服务器中创建副本集配置
  • status() =>给出服务器所属的副本集的当前状态
  • add(serverInfo) =>在副本集中添加新服务器(作为参数提供)。
  • addArb(serverInfo) =>用于在副本集中添加仲裁器的专用功能

首先,我们需要在其中一台服务器中创建副本集配置。 在mongo shell中执行以下命令:

> rs.initiate()

之后,您会在提示符下看到以下内容:

png; base64838a3d5dc722c104

这将在本地为此服务器创建必要的副本集信息,并且您会注意到提示从初始的'>'更改为'damon:STARTUP2>' ,这表明<replicaSetName:服务器的状态>

您可以在shell提示符下输入rs.status()来检查副本集中有多少台服务器:

png; base642ef0ef96d4cc2826

如您所见,我们在副本集中仅添加了一个服务器,它是当前服务器,其状态为“主要”。

检查副本中成员的其他方法是使用浏览器地址栏中的以下URL http:// : / _replSet。 在我们的例子中,http:// localhost:28017 / _replSet
请注意,这需要在配置文件中启用rest = true(我们已经做到了!)。 这是检查副本集中服务器状态的首选方法。

png; base648c9b0542e15ba78

现在,我们在副本服务器中添加了一个服务器,让我们添加其余服务器。

对于add()addArb()方法,我们将提供包含<machine / host-name>的字符串参数:<port-no-of-server>

(请注意,如果要使用计算机名,请在dos或bash shell中使用hostname命令)

rs.add(“<machine/host-name>:26017”)

png; base6451a8e8144fb9bf78

rs.addArb(“<machine/host-name>:25017”)

png; base6471cda960ad51ffc4

让我们检查是否使用rs.status()命令添加了节点/成员:

png; base64bc2381387562ac74

或使用基于浏览器的:

png; base64281be3bd5613c0e2

在这里,我们配置了3节点副本集MongoDB数据库集群。 尽管此信息可以应用于配置任何编号。 副本集中节点的数量。

参考: 设置MongoDB副本在 另一个Java Duke博客上,从我们的JCG合作伙伴 Abhijeet Sutar 分为4个步骤进行设置 。

翻译自: https://www.javacodegeeks.com/2013/07/setup-mongodb-replica-set-in-4-steps.html

mongodb副本集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot:使用Thymeleaf布局方言的Thymeleaf模板装饰器

介绍 在所有Thymeleaf模板上重用页眉和页脚的问题经常在StackOverflow上提出。 在本文中&#xff0c;我将向您展示如何使用Thymeleaf布局方言来结构化模板&#xff0c;以在Spring Boot应用程序中实现更高的代码可重用性。 创建一个Spring Boot应用程序 让我们使用Spring Initi…

猫、狗与Java的多态

多态&#xff08;Polymorphism&#xff09;按字面的意思就是“多种状态”。在面向对象语言中&#xff0c;接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术&#xff0c;赋值之后&#…

Java构建子类对象时的顺序

先看一个这么的程序&#xff1a; //------------------------------------------------------------------------// //程序目的&#xff0c;创建一个父类与子类&#xff0c;分别创建构造方法 public abstract class usecase1 {abstract void testAbstract();usecase1(){//&…

使用绝对布局的方法创建一个登录密码验证的简易窗口

绝对布局是指直接采用坐标指定的方式在容器中创建窗口&#xff0c;这种方式比较灵活 采用这种方法创建布局的方式主要有以下几步&#xff1a; 使用Container.setLayout(null)的方式取消布局管理器使用Compon.setBounds()的方式来设置每个组件的大小 下面先上代码 import ja…

古诺模型_再见了古诺。 你好Drools工作台。

古诺模型Drools 6.0发生了许多变化。 随着功能和功能的更改&#xff0c;我们对Guvnor github存储库进行了重组&#xff0c;以更好地反映我们的新架构。 历史上&#xff0c;Guvnor一直是Drools的Web应用程序。 它由Drools专用的编辑器&#xff0c;后端存储库和简化的资产管理系统…

八千字复习一下天线与电磁波

1. 空间坐标系 空间直角坐标系&#xff08;常用&#xff09;极坐标系平面直角坐标系距离矢量就是空间向量坐标单位矢量就是给距离矢量xyz底下分别除以模长梯度就是xyz求偏导&#xff0c;记得写 ex⃗\vec{e_{x}}ex​​/ey⃗\vec{e_{y}}ey​​/ez⃗\vec{e_{z}}ez​​,最后方程左…

Apache Fluo:填充Google搜索索引的Percolator的实现

Apache Fluo是Apache Accumulo [3]的Percolator [2]&#xff08;填充Google的搜索索引&#xff09;的开源实现 。 使用Fluo&#xff0c;用户可以将新数据连续地合并到大型现有数据集中&#xff0c;而无需重新处理所有数据。 与批处理和流传输框架不同&#xff0c;Fluo提供了低得…

最通俗的语言讲解卷积码、码树图、状态图以及维特比译码

什么是卷积码&#xff1f; 卷积码是由伊利亚斯发明的一种非分组码&#xff0c;它更加倾向于纠错&#xff0c;对于实际的性能优于分组码&#xff0c;运算较为简单。 将卷积码记为(n,k,N),码率定义为k/n n是n个比特 k是k个信息位 N是N个信息段 卷积码编码器 组成&#xff1a…

通信系统的同步技术归纳

载波同步&#xff1a;在相干解调时&#xff0c;接收端的解调器要产生一个与接收到的载波同频同相的相干载波位同步&#xff1a;接收端产生一个与接收信号符号速率相同&#xff0c;相位与最佳判决时刻一致的定时脉冲序列信号群同步&#xff1a;群同步是指在接收端产生与“字、句…

c语言 在txt文件中搜索关键词_网络推广外包—网络推广外包如何在搜索引擎中体现关键词优化效果...

在当下的互联网时代中&#xff0c;没有企业愿意远离这种流量获取快、用户需求大、宣传推广能力见效快的搜索引擎&#xff0c;况且通过互联网的帮助下&#xff0c;企业网站能够通过搜索引擎进行关键词优化后获取更多的转化率&#xff0c;增加企业交易额度的提升&#xff0c;谁又…

Spring JPA数据+Hibernate+ MySQL + Maven

在Spring MVC的帮助下开发Web应用程序意味着要创建几个逻辑架构层。 层之一是DAO&#xff08;存储库&#xff09;层。 它负责与数据库进行通信。 如果您至少开发了DAO层一次&#xff0c;则应该知道它涉及许多样板代码。 Spring Data本身就是与DAO相关的日常工作的一部分。 在帖…

数字通信系统中的均衡技术

均衡技术是为了消除码间串扰的影响 自适应均衡器 可以自动调整抽头滤波系数的均衡器。包含两个工作模式&#xff0c;训练模式和跟踪模式&#xff1b; 训练模式&#xff1a;发射机发射一个已知的定长的序列&#xff0c;以便接收机处的均衡器可以做出正确的设置跟踪模式&#…

eclipse中birt插件使用_waves教学:如何使用通道条插件在DAW中创建模拟工作流

这篇Waves小文章将帮助你了解通道条插件如何来加快混音工作流程&#xff0c;同时还能在DAW中添加令人愉悦的模拟调音台染色——以及它们如何以前所未有的灵活性适应数字新时代。什么是通道条&#xff1f;第一次看到一台老式模拟调音台时&#xff0c;人们常常因为按键、旋钮和推…

X-Mas Musings –在Grails集成测试中不要使用随机服务器端口

对许多人来说&#xff0c;十二月是反思或思考的时期。 所以我决定在去年的事情和想法&#xff0c;以反映- 每一天 &#xff0c;直到圣诞节。 这是第四天 对于Grails集成测试&#xff0c;了解应用程序当前在哪个端口上运行非常有用。 Spring Boot以及因此建立在它上面的Grails都…

主板螺丝是机箱配还是主板配_要配新电脑,A520主板和B450主板哪一个更加值得购买?...

Hello大家好&#xff0c;我是兼容机之家的小牛。上周AMD正式发布了最新的A520芯片组主板&#xff0c;这也补齐了500系列主板的高中低三档配置&#xff0c;现在500系列主板已经拥有X570、B550、A520三个芯片组。那么小牛为什么要拿上一代的B450和最新的A520来做对比呢&#xff1…

使用WebLogic共享库连续交付ADF应用程序

介绍 当ADF应用程序建立在共享库之上时&#xff0c;有一种非常流行的架构模式。 因此&#xff0c;主应用程序被部署为EAR&#xff0c;并且所有子系统都在共享库中实现&#xff0c;这些共享库可以在“热”模式下独立构建并作为JAR部署到WebLogic&#xff0c;而无需停机。 这种方…

信号与系统 chapter1 常见信号及其变换

什么是信号&#xff1f; 它的定义及其宽泛&#xff0c;但在我们电子通信工程中&#xff0c;我们可以把它看成一种波形&#xff1b;在数学上&#xff0c;我们可以把它看成一个函数。说到函数&#xff0c;函数又分为离散与连续&#xff0c;信号也是一样&#xff0c;分为离散信号…

信号与系统 chapter2 冲激偶函数与阶跃函数

什么是冲激偶函数 简单来说&#xff0c;从负方向向0趋近&#xff0c;结果为无穷大&#xff0c;从正方向趋近于0&#xff0c;结果为无穷小 它的性质&#xff1a; 冲激函数求导得来&#xff0c;推广&#xff1a; 阶跃函数 会考察你让你写出函数表达式 看上面那个式子&#xf…

c语言对中文字符串编码_Python || 学习笔记(1):数据类型字符串变量和编码

数据类型特性&#xff1a;对于0很多的整数&#xff0c;python允许用_对0进行分离10_000_000_000就等同于1000000000016进制用0x开头进行表示对于很大或很小的浮点数必须使用科学计数法表示&#xff0c;表示方法为 2.13e10表示2.13x10^10转义字符与C语言一样&#xff0c;为\&…

信号与系统 chapter3 冲激函数的尺度变换

在chapter2里我们简单的示例了一个阶跃函数做尺度变换的例子&#xff0c;在这一节里我们会对冲激函数做尺度变换&#xff0c;同样很简单 关于δ(at)\delta(at)δ(at) 它的证明如下&#xff0c;使用换元法即可得到&#xff1a; 始终利用的是冲激函数只在t0t0t0处有意义 如果它…