首页 > 数据库 >MongoDB复制集环境滚动构建索引

MongoDB复制集环境滚动构建索引

时间:2023-04-12 09:59:28浏览次数:32  
标签:滚动 创建 disableLogicalSessionCacheRefresh 索引 构建 MongoDB 节点

滚动构建索引每次最多取出一个复制集成员,从辅助成员开始,并在该成员上以standalone方构建索引。滚动索引构建至少需要一次副本集选举。

 

考虑点

1.唯一性索引

使用滚动方式构建唯一性索引,你必须停止集合上所有写操作。否则,只能在主节点上使用db.collection.createIndex()创建。

2.oplog大小

确保oplog足够大,从而能完全接收索引创建期间收到的日志数据,从而才能追赶上主节点。

先决条件

对于创建唯一性索引,要停止在集合上的所有写操作。

 

创建过程

1.关闭一个辅助节点,以standalone的模式重启

如果使用的是配置文件:

·注释掉集群名称配置

·修改成其它的端口

·disableLogicalSessionCacheRefresh参数设置成true

net:
   bindIp: localhost,<hostname(s)|ip address(es)>
   port: 27217
#   port: 27017
#replication:
#   replSetName: myRepl
setParameter:
   disableLogicalSessionCacheRefresh: true

如果是命令行的方式:

mongod --port 27217 --setParameter disableLogicalSessionCacheRefresh=true

 

2.创建索引

通过新的端口连接进来,创建索引。比如:

db.records.createIndex( { username: 1 } )

 

3.以复制集成员的方式重启mongodb实例

将步骤1中的操作去掉,然后重启。

一定要移除disableLogicalSessionCacheRefresh。

 

4.在其它辅助节点上,重复步骤1-3

 

5.在主节点上创建索引

执行rs.stepDown() ,将主节点降级。然后重复步骤1-3

 

至此,滚动构建索引结束。

 

标签:滚动,创建,disableLogicalSessionCacheRefresh,索引,构建,MongoDB,节点
From: https://www.cnblogs.com/abclife/p/17306738.html

相关文章

  • pandas中的时间特征索引
    时间特征索引importpandasaspdfilepath=r"E:\Desktop\配套代码和数据集\配套代码和数据集\第3章:Pandas\Pandas代码\data\flowdata.csv"df=pd.read_csv(filepath,index_col=0,parse_dates=True)#以时间特征我索引df[pd.Timestamp("2012"):pd.Timestamp("2013"......
  • spring 中mongoDB事务配置
    配置事务事务管理器配置代码:@ConfigurationpublicclassTransactionConfig{@BeanMongoTransactionManagertransactionManager(MongoDatabaseFactoryfactory){returnnewMongoTransactionManager(factory);}}在对应方法加上事务注解。事务中只......
  • Studio 3T 2023.3 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端,现在
    TheprofessionalGUI,IDEandclientforMongoDB请访问原文链接:https://sysin.org/blog/studio-3t-2023/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgStudio3T,MongoDB的专业GUI、IDE和客户端适用于MongoDB的所有IDE、客户端和GUI工具——在Atlas......
  • .NET Core MongoDB数据仓储和工作单元模式实操
    前言MongoDB从入门到实战的相关教程YyFlight.ToDoList项目源码地址MongoDB事务使用前提说明创建EntityBase公共类添加UserInfo用户表实体映射模型创建用户Repository创建用户管理业务代码UserOperationExample控制创建注册数据库基础操作和工作单元注册相关应用服务......
  • 视图,触发器,事务,存储过程,内置函数,流程控制,索引
    目录SQL注入问题视图1、什么是视图2、为什么要用视图3、如何用视图触发器为何要用触发器创建触发器语法事务(掌握)什么是事务事务的作用事务的4个属性(ACID)如何用存储过程基本使用三种开发模型第一种第二种第三种创建存储过程如何用存储过程函数流程控制索引b+树聚集索引(primaryk......
  • js:四个方向无跳动/无缝滚动,支持图片/html串,支持延时缓慢翻页,ff/ie测试 -- 2012-1-
    ----------代码----------<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title></title></head><body><divid="gg"><......
  • 全文索引:Apache Lucene(二)
    上一章我们讲述了ApacheLucene实现的核心代码,今天我们来梳理一下Lucene的相关概念以及Lucene索引。工欲善其事,必先利其器。Java常用的全文搜索引擎框架,通常是下面4个框架:  为什么是Lucene呢?原因很简单,hibernatesearch、solr、elasticsearch都是基于lucene......
  • 分布式存储技术(下):宽表存储与全文搜索引擎的架构原理、特性、优缺点解析
    对于写密集型应用,每天写入量巨大,数据增长量无法预估,且对性能和可靠性要求非常高,普通关系型数据库无法满足其需求。对于全文搜索和数据分析这类对查询性能要求极高的场景也是如此。为了进一步满足上面两类场景的需求,有了宽表存储和搜索引擎技术,本文将对他们的架构、原理、优缺点做......
  • MongoDB、Redis、HBase、Cassandra、Elasticsearch、ClickHouse等NoSQL数据库简介及优
    MongoDBMongoDB是一个基于文档的NoSQL数据库,它使用BSON(二进制JSON)格式存储数据。MongoDB支持动态查询,可以轻松地处理非结构化数据。它还支持水平扩展,可以在多个节点上分布数据。优点:灵活性高,支持非结构化数据存储。支持水平扩展,可以在多个节点上分布数据。支持动态查询,可......
  • openGauss索引优化以及虚拟索引
    一、索引推荐1、测试数据导入gsql-ddatabase_test-p26000-Ujoe-WMysql@123456-rCREATETABLEtab_ysl_1(col1int,col2int,col3text);INSERTINTOtab_ysl_1VALUES(generate_series(1,3000),generate_series(1,3000),repeat(chr(int4(random()*26)+65),4));AN......