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

MongoDB数据库配置replicasets主从复制和autosharding

MongoDBReplicaSets和AutoSharding配置的简单步骤是本文我们主要要介绍的内容,网上有很多教程把ReplicaSets和AutoSharding(或者是Sharding)写在了一起,对于初学者可能会觉得有些莫名,之所以这样做是因为,一个较好的AutoSharding解决方案是将每个
MongoDB Replica SetsAuto Sharding配置的简单步骤是本文我们主要要介绍的内容,网上有很多教程把Replica Sets和Auto Sharding(或者是Sharding)写在了一起,对于初学者可能会觉得有些莫名,之所以这样做是因为,一个较好的Auto Sharding解决方案是将每个一shard(分片)定为一个Replica Sets(复制集)。

一个Replica Sets由若干个mongod instance组成,在这个集合中,所有的instance的数据相同,这使得即使有某一台机子当掉了,其它机子还是可以正常运行,而且这部分的控制是由Mongo自动完成的,因而尽可能地减少了因当机而产生的错误及人工处理的部分。

而Sharding是可以将庞大的数据库拆分为几个部分分别发放到每一个shard,一来降低了单一一台服务器的压力,同时通过减少潜在的损失比例来提高效率。也就是说一个基于Replica Sets的Auto Sharding结构,可以把一个完整而且庞大的数据库根据个人定制,拆分到若干个服务器集合,每个服务器集合中的服务器群又相互保持数据同步,所以除非一个服务器集合中的所有服务器都当掉了,否则某台或几台的当机对数据库的影响是微忽其微的。关于这两个部分,其实在Mongo的官方文档里有详细的说明,所以此文是以总结归纳为目的而写。

MongoDB Replica Sets和Auto Sharding配置简介


1.一个完整的Auto Sharding功能的实现需要用到mongod和mongos,其中mongos作为真正的应用接口,数据的输入输出都应经过它。然后还需要一个config server,它是mongod,但它不会用来存储应用程序的数据库,通俗的来说而是存放了这整个结构的配置属性,mongos会从config server中读取配置来进行工作。最后是真正会存储数据的mongod们,它们按组分为若干个Replica Sets,用来存放mongos拆分下来的各个sharding。

2.配置推荐从配置各个Replica Sets开始,一个Replica Set包含若干个mongod instance,基础命令是:mongod --replSet %SETNAME%  --shardsvr,同属一个Replica Set的instance都使用同一个%SETNAME%,比如一个名为“set1”的Replica Set中有三台服务器,分别名为“server1”,“server2”,“server3”,则在这三台服务器上需要分别运行命令:
server1: mongod --replSet set1 --shardsvr
server2: mongod --replSet set1 --shardsvr
server2: mongod --replSet set1 --shardsvr
启动mongod包含多个参数,这个可以通过命令:mongod --help来查询,根据自己的需求修改,上面的为必要部分。
每个服务器都启动好mongod后,开始进行Replica Sets的初始化。
初始化的方法有多种,以下介绍比较方便的两种:
(1)initiate(cfg),其中cfg由用户编写;
(2)initiate->add;

3.然后是启动config serve;

4.最后是启动mongs;

以上就是MongoDB Replica Sets和Auto Sharding配置的简单过程,本文就介绍到这里,希望本次的介绍能够对您有所收获!

推荐阅读
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 华为与红帽联手,加速开源电信软件革新
    华为与红帽携手合作,旨在加速开源电信软件的发展,以满足大型电信运营商对灵活网络解决方案的需求。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 第一步java代码条件匹配与之对应的mongo数据查询第二步:java代码分组查询与之所对应的mongodb中sheel与所得出的表点击某个_id字段进入,所得出的图表为第三步:在 ... [详细]
  • 本文详细探讨了在Java TCP编程中,如何理解和测量并发连接数、请求数及并发用户数,并提供了实际应用中的测试方法和优化建议。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
author-avatar
宁波南诚装饰_886
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有