`

mongodb 分布式配置

阅读更多

一、副本集(replSet)

    在普通的主从关系的部署模式已经满足不了需求,所以推介副本集形式,好处之一是在主节点down了以后可以自动地在众多的secondary的节点中推选出主节点,实现自动切换。

    

    配置方式如下:

  1.  创建rs.conf启动配置文件
    port = 27017
    dbpath = /data/db
    logpath = /log/log.log
    fork = true
    replSet = test
     主要的参数设置
  2. 启动mongodb
    ./mongod -f rs.conf
     
  3. 任意进入一个副本集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(分片服务器实际的储存数据的服务器)

 

    配置方式:

  1.   配置config-server方式跟普通的mongodb一样设置port,fork,dbpath,logpath
  2.   配置mongos-server不需要配置dbpath,需要配置configdb指向(1)中配置的host:port
  3.   配置shard跟普通的mongodb实例一样同(1)
  4.   登录mongos进行分片的指向,
    use admin;
    db.runCommand({"addshard":"192.168.13.213:10000"}) 
     将192.168.13.213:10000作为分片加入
  5.   加入完shards,开始配置进行分片的DB以及Collection
    #shard db
    db.runCommand( { enablesharding : "shard" } );
     
    #shard collections
    db.runCommand( { shardcollection : "shard.test", key : { name : 1 } } )
     key是指明进行分片的字段,改字段必须是已经作了索引,而且联合index进行分片
  6. 移除shard
    db.runCommand({removeshard:"192.168.13.213:10002"});
     但是移除的shard是某个db的primary的话需要movePrimary
    db.runCommand({ movePrimary : "shard", to : "shard0002" });
     
  7. 一些管理命令
    db.printShardingStatus();
     查看分片的情况
    use config;
    db.shards.find();
     可以使用config库来查看一些配置记录
分享到:
评论

相关推荐

    MongoDB分布式搭建执行文件(直接可运行)搭建MongoDB分布式集群

    (3) 请在报告中使用文字和截图详细描述MongoDB分片集群搭建及配置的主要步骤: - 搭建配置集服务器(Mongod) - 搭建分片集服务器(Mongod) - 搭建路由节点服务器(Mongos) - 添加分片集到集群 - 创建数据库...

    mongodb中文API及分布式分片实例详解

    二、MongoDB分布式分片实例详解 1. 分片概念:分片是将大数据集分散到多个物理节点上的过程,以提高读写性能和存储容量。MongoDB通过分片实现水平扩展。 2. 设置分片集群:首先,需要启动配置服务器、分片服务器和...

    mongodb的大型分布式部署

    ### MongoDB大型分布式部署详解 #### 一、MongoDB大型分布式部署概述 MongoDB是一种非常流行的NoSQL数据库系统,尤其适用于需要处理大量非结构...希望本文能够帮助读者更好地理解和掌握MongoDB分布式部署的相关知识。

    MongoDB分布式集群搭建

    ### MongoDB分布式集群搭建详解 #### 一、集群与分布式概念 **集群(Cluster)**与**分布式(Distributed)**是两种常见的架构设计模式,用于提高系统的可用性、可伸缩性和性能。 1. **集群(Cluster)** - **定义**:...

    基于MongoDB分布式集群架构的日志系统及分片方法.docx

    【基于MongoDB分布式集群架构的日志系统及分片方法】 MongoDB是一种流行的开源文档数据库,以其灵活性、可扩展性和高性能而被广泛应用于日志管理、大数据处理和其他领域。本技术方案涉及利用MongoDB的分布式集群...

    mongodb分布式安装部署

    本文将详细介绍MongoDB的分布式安装部署过程,以及如何进行复制集的配置与测试。 一、MongoDB的安装与配置 1. 下载安装:首先,你需要从MongoDB官网下载适合你操作系统的安装包。在Windows、Linux或macOS上,根据...

    Linux安装ElasticSearch与MongoDB分布式集群环境下数据同步

    ### Linux安装ElasticSearch与MongoDB分布式集群环境下数据同步 #### 概述 在现代的大数据处理场景下,为了提高数据处理效率以及更好地利用资源,通常会采用多种数据库技术组合的方式来构建系统架构。Elastic...

    MongoDB分布式集群.pdf

    在MongoDB分布式集群中,副本集的概念是核心组成部分。副本集是由多个mongod实例组成的,每个实例称为一个节点。副本集的主要目的是提供数据的冗余和高可用性,确保数据的持久性和一致性的同时,提供读取操作的负载...

    深入了解MongoDB 分布式集群

    MongoDB 分布式集群是MongoDB数据库系统中的一个重要特性,它允许数据库跨越多个服务器,以提供水平扩展、高可用性和故障恢复能力。...通过合理配置和管理这些组件,可以确保MongoDB在分布式环境中的高效稳定运行。

    高性能分布式爬虫,基于Flask 数据库采用MongoDB 分布式采用Redis.zip

    项目说明文档会详细介绍如何配置和运行这个分布式爬虫系统,包括安装依赖、设置环境、启动服务等步骤。部署教程则会指导用户如何在本地或者服务器上部署这个系统,确保所有组件能够正确工作。项目授权码.txt文件可能...

    基于MongoDB的分布式地质灾害数据存储策略.docx

    #### MongoDB分布式存储策略 ##### 地质灾害数据组织 针对地质灾害数据的特点,本文提出以下数据组织方式: 1. **数据内容**:包括遥感影像数据、空间矢量数据等。 2. **数据组织与管理**: - 文件型数据:利用...

    MongoDB 集群配置示例之 sharding 模式

    接下来,我们将详细介绍MongoDB的sharding模式配置示例,这将帮助读者理解sharding的工作原理、名词解释、配置步骤以及应用建议。 ### 工作原理 MongoDB的sharding模式能够将数据水平切分到不同的物理节点,这些...

    mongodb分布式理解

    ### MongoDB 分布式理解 ...以上是对 MongoDB 分布式部署及理解的主要知识点的概述,包括配置服务、分片服务、路由服务、副本集、分片策略、写关注、读关注以及读节点策略等方面。希望这些信息对你有所帮助。

    58同城高级系统架构师带你实战MongoDB集群分布式存储

    ### MongoDB集群分布式存储实战知识点详解 #### 一、MongoDB简介与应用场景 MongoDB是一款开源的NoSQL数据库系统,以其高性能、高可用性和易扩展性而闻名。它使用JSON-like的文档来存储数据,非常适合处理半结构化...

    基于MongoDB的分布式地质灾害数据存储策略.pdf

    ### MongoDB分布式存储策略 MongoDB的分布式存储策略通过自动分片技术来分布数据,支持高性能和高可用性。分布式部署架构中,Configserver负责配置管理,mongos作为路由进程, mongod是数据库服务进程。 ### ...

    基于Mongodb分布式存储物理文件

    在之前的文章中介绍了如何对关系型数据数据通过auto-sharding进行分布式数据存储,今天介绍如何对物理文件(小文件,基本小于100K)进行分布式存储。接着看一下要配置的测试环境(与前一篇中类似):模拟2个shard服务...

    mongodb安装配置及java操作mongodb

    MongoDB是一种流行的开源、分布式文档数据库,用于存储结构化和半结构化数据。它以其灵活性、高性能和易于扩展性而闻名。在这个主题中,我们将深入探讨MongoDB的安装配置以及如何使用Java进行操作。 首先,让我们看...

    原创Linux下Mongodb的分布式分片群集(sharding cluster)配置

    在Linux环境下配置MongoDB的分布式分片群集是提升数据库性能和可扩展性的重要手段。本文将深入探讨如何在Linux操作系统上搭建和管理MongoDB的分片集群。 **一、MongoDB分片群集概述** 分片(Sharding)是MongoDB中...

    分布式存储数据库MongoDB教程

    ### 分布式存储数据库MongoDB教程 #### MongoDB简介 MongoDB是一种分布式的文件存储数据库,由C++语言编写,主要用于为Web应用提供一种高度可扩展且高性能的数据存储解决方案。它处于传统的关系型数据库与新兴的...

Global site tag (gtag.js) - Google Analytics