热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mongo服务器集群配置学习一

Mongo服务器集群配置学习一——主从复制Postedon主从复制是MongoDB最常用也是最简单的复制操作。常用于数据备份和故障修复等。下面这个图就是最简单的主从复制的服务器架构我将以实验的方式来实现MongoDB的主从复制实验环境:windows操作系统(一台机器

Mongo服务器集群配置学习一——主从复制Posted on 主从复制是MongoDB最常用也是最简单的复制操作。常用于数据备份和故障修复等。 下面这个图就是最简单的主从复制的服务器架构 我将以实验的方式来实现MongoDB的主从复制 实验环境:windows操作系统(一台机器

Mongo服务器集群配置学习一——主从复制 Posted on

主从复制是MongoDB最常用也是最简单的复制操作。常用于数据备份和故障修复等。

下面这个图就是最简单的主从复制的服务器架构

我将以实验的方式来实现MongoDB的主从复制

实验环境:windows操作系统(一台机器启动多个MongoDB数据库),MongoDB 2.4

说明:

1.MongoDB以配置文件的形式启动

2.以执行保存的bat文件代替每次输入CMD中输入命令

步骤:

1.配置主节点并启动,端口为10001,下图为配置的文件结构

其中config.cnf的内容为

dbpath=D:\mongodb\test\copy\10001\Data
bind_ip=127.0.0.1
port=10001
master=true

用startup.bat启动主节点:mongod -f config.cnf

用shell.bat启动shell:mongo 127.0.0.1:10001

其中master参数为true说明这台是主节点

2.配置从数据库,端口为10002

config.cnf的内容为

dbpath=D:\mongodb\test\copy\10002\Data
bind_ip=127.0.0.1
port=10002
slave=true
source=127.0.0.1:10001

用startup.bat启动从节点:mongod -f config.cnf

用shell.bat启动shell:mongo 127.0.0.1:10002

slave参数设置从节点,source从数据库对应的主节点的地址

3.下面就来做下验证,在10001主节点上的person数据库添加集合baseinfo,并添加一条文档

这个时候再来10002从节点查询,就可以看到这条同样的数据已经复制过来了。

4.其他参数

--only 从节点配置,只复制特定某个数据库

--autoresync 从节点配置,如果主节点与从节点数据不同,则自动重新同步。配置这个节点可以给运行了一段时间的主节点加上一个新节点,则这个新节点会把之前的主节点数据全部同步过来,而不是从现在这个时间同步。

--slavedelay 从节点配置,从数据库延迟同步主数据库的时间

--fastsync 从节点配置,以主节点的数据库快照启动从节点,可以加快启动速度。

--oplogsize 主节点配置,主节点oplog大小,主节点会把数据库操作的日志写在oplog中,从节点参考oplog做复制操作,可以根据自身情况调节日志大小。如果不指定oplogsize大小,mongod将指配5%的可用磁盘空间给他,32位机最小是50M,64位机最小是1G。

动态添加删除主从节点

先看看从节点的对于主节点的配置在哪,在从节点的local数据库的sources集合中,香港服务器租用,查看信息如下:

现在再启动一台普通的节点,不设置任何主从,端口设为10003

dbpath=D:\mongodb\test\copy\10003\Data
bind_ip=127.0.0.1
port=10003
slave=true

启动后,动态的把10003加入到主从架构中,形成如下的结构

在10003的shell中执行下面脚本即可。

use local

db.sources.insert({"host":"127.0.0.1:10001"})

这样10003就作为10001的从节点了

删除主从关系就用db.sources.remove({"host":"127.0.0.1:10001"})

主节点往从节点转移

永久的转移一个损坏的和不可用的主节点A到从节点B,有以下步骤:

1.关闭A节点

2.停止B节点的Mongod

3.对B节点的dbpath目录下的文件进行备份和移动

注:删除local.*是不可撤销的。执行此步骤非常谨慎。

4.在B节点上用--master参数重启Mongod

调换主节点和从节点

有一个主节点A和一个从节点B,如果想调换他们的角色,美国服务器,请按下面的步骤,这里假设A是健康的,可更新的可用的

如果A是不是健康的,但硬件是好的(停电,服务器崩溃等),美国服务器,跳过步骤1和2,并在第8步用B的文件取代所有的文件。

如果A是不是健康的,硬件是不好的,将A替换为一台新机器。可以按照上段中的说明。

1.暂停在A上使用fsync命令

2.确定B是在同步节点A

3.关闭B节点

4.从B的DBPATH目录备份和移动的所有数据文件,并删除现有的数据local.sources。

5.用master选项启动B

6.往B中写入数据,用oplog设置新的同步开始时间点

7.关闭B,当重启时B就有新的一组本地数据

8.关闭A,用备份B的dbpath目录文件复制到A的dbpath中

9.用master选项启动B

10.用通常slave选项启动A,但要包括fastsync参数

推荐阅读
  • Abp+MongoDb改造默认的审计日志存储位置
    一、背景在实际项目的开发当中,使用AbpZero自带的审计日志功能写入效率比较低。其次审计日志数据量中后期十分庞大,不适合与业务数据存放在一起。所以我们可以重新实现A ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • MongoDB学习:(二)MongoDB简单使用
    MongoDB学习:(二)MongoDB简单使用MongoDB使用:执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面>mongo提示 ... [详细]
  •     系统采用jeeplus框架(ssm+redis+shiro+mongodb+redis),默认是做了JSP未做前后端分离,由于业务需要已经多终端使用的需求(H5、小程序等) ... [详细]
  • mongoDB高可用集群环境搭建
    2019独角兽企业重金招聘Python工程师标准在生产环境下,部署一台mongodb服务的话,会存在以下问题:单点问题生产环境是一个 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了Mongodb副本集+分片集群搭建相关的知识,希望对你有一定的参考价值。环境需求: ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • step1.为mongodb添加admin管理员root@12.154.29.163:~#mongoMongoDBshellversionv3.4.2connectingto:mo ... [详细]
  • 一、前言在数据库中,慢查询日志通常是用来进行优化数据库,MySQL中存在慢查询,Mongodb中也是如此。在Mongo中的慢查询属于Mon ... [详细]
author-avatar
第一城的呀呀_836
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有