一、副本集(replSet)
在普通的主从关系的部署模式已经满足不了需求,所以推介副本集形式,好处之一是在主节点down了以后可以自动地在众多的secondary的节点中推选出主节点,实现自动切换。
配置方式如下:
- 创建rs.conf启动配置文件
port = 27017 dbpath = /data/db logpath = /log/log.log fork = true replSet = test
主要的参数设置 - 启动mongodb
./mongod -f rs.conf
- 任意进入一个副本集mongo
config={ _id:'test',members:[ {_id:0,host:"192.168.13.1:27017"}, {_id:1,host:"192.168.13.2:27017"}, {_id:2,host:"192.168.13.3:27017"} ] } rs.initiate(config)
如此便启动副本集成功
二、分片(shards)
副本集是从数据冗余来解决读写性能和容灾,但是对于读写性能来讲提升有限,并且当数据量达到一定程度时数据的存储和吞吐都会出现瓶颈,而分片恰好用数据分储来解决吞吐性能,单个分片shard可以使用Master-Slave或者使用replSet(推荐),所以对于大规模的数据储存还是推荐使用分布式shards。
服务器MongoDB实例所需要的角色config-server(配置服务器),mongos-server(片键服务器存储片键拆分相当于数据路由器),shards-server(分片服务器实际的储存数据的服务器)
配置方式:
- 配置config-server方式跟普通的mongodb一样设置port,fork,dbpath,logpath
- 配置mongos-server不需要配置dbpath,需要配置configdb指向(1)中配置的host:port
- 配置shard跟普通的mongodb实例一样同(1)
-
登录mongos进行分片的指向,
use admin; db.runCommand({"addshard":"192.168.13.213:10000"})
将192.168.13.213:10000作为分片加入 -
加入完shards,开始配置进行分片的DB以及Collection
#shard db db.runCommand( { enablesharding : "shard" } );
#shard collections db.runCommand( { shardcollection : "shard.test", key : { name : 1 } } )
key是指明进行分片的字段,改字段必须是已经作了索引,而且联合index进行分片 -
移除shard
db.runCommand({removeshard:"192.168.13.213:10002"});
但是移除的shard是某个db的primary的话需要movePrimarydb.runCommand({ movePrimary : "shard", to : "shard0002" });
-
一些管理命令
db.printShardingStatus();
查看分片的情况use config; db.shards.find();
可以使用config库来查看一些配置记录
相关推荐
(3) 请在报告中使用文字和截图详细描述MongoDB分片集群搭建及配置的主要步骤: - 搭建配置集服务器(Mongod) - 搭建分片集服务器(Mongod) - 搭建路由节点服务器(Mongos) - 添加分片集到集群 - 创建数据库...
二、MongoDB分布式分片实例详解 1. 分片概念:分片是将大数据集分散到多个物理节点上的过程,以提高读写性能和存储容量。MongoDB通过分片实现水平扩展。 2. 设置分片集群:首先,需要启动配置服务器、分片服务器和...
### MongoDB大型分布式部署详解 #### 一、MongoDB大型分布式部署概述 MongoDB是一种非常流行的NoSQL数据库系统,尤其适用于需要处理大量非结构...希望本文能够帮助读者更好地理解和掌握MongoDB分布式部署的相关知识。
### MongoDB分布式集群搭建详解 #### 一、集群与分布式概念 **集群(Cluster)**与**分布式(Distributed)**是两种常见的架构设计模式,用于提高系统的可用性、可伸缩性和性能。 1. **集群(Cluster)** - **定义**:...
【基于MongoDB分布式集群架构的日志系统及分片方法】 MongoDB是一种流行的开源文档数据库,以其灵活性、可扩展性和高性能而被广泛应用于日志管理、大数据处理和其他领域。本技术方案涉及利用MongoDB的分布式集群...
本文将详细介绍MongoDB的分布式安装部署过程,以及如何进行复制集的配置与测试。 一、MongoDB的安装与配置 1. 下载安装:首先,你需要从MongoDB官网下载适合你操作系统的安装包。在Windows、Linux或macOS上,根据...
### Linux安装ElasticSearch与MongoDB分布式集群环境下数据同步 #### 概述 在现代的大数据处理场景下,为了提高数据处理效率以及更好地利用资源,通常会采用多种数据库技术组合的方式来构建系统架构。Elastic...
在MongoDB分布式集群中,副本集的概念是核心组成部分。副本集是由多个mongod实例组成的,每个实例称为一个节点。副本集的主要目的是提供数据的冗余和高可用性,确保数据的持久性和一致性的同时,提供读取操作的负载...
MongoDB 分布式集群是MongoDB数据库系统中的一个重要特性,它允许数据库跨越多个服务器,以提供水平扩展、高可用性和故障恢复能力。...通过合理配置和管理这些组件,可以确保MongoDB在分布式环境中的高效稳定运行。
项目说明文档会详细介绍如何配置和运行这个分布式爬虫系统,包括安装依赖、设置环境、启动服务等步骤。部署教程则会指导用户如何在本地或者服务器上部署这个系统,确保所有组件能够正确工作。项目授权码.txt文件可能...
#### MongoDB分布式存储策略 ##### 地质灾害数据组织 针对地质灾害数据的特点,本文提出以下数据组织方式: 1. **数据内容**:包括遥感影像数据、空间矢量数据等。 2. **数据组织与管理**: - 文件型数据:利用...
接下来,我们将详细介绍MongoDB的sharding模式配置示例,这将帮助读者理解sharding的工作原理、名词解释、配置步骤以及应用建议。 ### 工作原理 MongoDB的sharding模式能够将数据水平切分到不同的物理节点,这些...
### MongoDB 分布式理解 ...以上是对 MongoDB 分布式部署及理解的主要知识点的概述,包括配置服务、分片服务、路由服务、副本集、分片策略、写关注、读关注以及读节点策略等方面。希望这些信息对你有所帮助。
### MongoDB集群分布式存储实战知识点详解 #### 一、MongoDB简介与应用场景 MongoDB是一款开源的NoSQL数据库系统,以其高性能、高可用性和易扩展性而闻名。它使用JSON-like的文档来存储数据,非常适合处理半结构化...
### MongoDB分布式存储策略 MongoDB的分布式存储策略通过自动分片技术来分布数据,支持高性能和高可用性。分布式部署架构中,Configserver负责配置管理,mongos作为路由进程, mongod是数据库服务进程。 ### ...
在Linux环境下配置MongoDB的分布式分片群集是提升数据库性能和可扩展性的重要手段。本文将深入探讨如何在Linux操作系统上搭建和管理MongoDB的分片集群。 **一、MongoDB分片群集概述** 分片(Sharding)是MongoDB中...
在之前的文章中介绍了如何对关系型数据数据通过auto-sharding进行分布式数据存储,今天介绍如何对物理文件(小文件,基本小于100K)进行分布式存储。接着看一下要配置的测试环境(与前一篇中类似):模拟2个shard服务...
MongoDB是一种流行的开源、分布式文档数据库,用于存储结构化和半结构化数据。它以其灵活性、高性能和易于扩展性而闻名。在这个主题中,我们将深入探讨MongoDB的安装配置以及如何使用Java进行操作。 首先,让我们看...
### 分布式存储数据库MongoDB教程 #### MongoDB简介 MongoDB是一种分布式的文件存储数据库,由C++语言编写,主要用于为Web应用提供一种高度可扩展且高性能的数据存储解决方案。它处于传统的关系型数据库与新兴的...