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

MongoDBauto-sharding分片配置记录

mongodbauto-sharding分片优点在于可以存储海量的数据并且可以扩容。支持动态添加或移除sharding,添加shard时,mongo会自动将部分数据转移到新的分片上。移除shard时,mongo会自动将此分片上的数据转移到其它分片上分片包括3种服务器:1.分片服务器:存
mongodb auto-sharding分片优点在于可以存储海量的数据并且可以扩容。

支持动态添加或移除sharding,添加shard时,mongo会自动将部分数据转移到新的分片上。
移除shard时,mongo会自动将此分片上的数据转移到其它分片上 分片包括3种服务器:
  1.分片服务器:存储实际的分片数据
  2.配置服务器:存储所有shard节点的配置信息、每个chunk的shard key范围、chunk在各shard的分布情况、该集群中所有db和collection的sharding配置信息
  3.路由服务器:询问配置服务器,上哪个分片服务器上进行查询或写入等操作。

#./shard1.conf 配置实例:
    dbpath = d:/mongodb/shard/data/service1
    logpath = d:/mongodb/shard/log/log1.log
    shardsvr = true
    logappend = true
    port = 20001
    rest=true

#./config.conf 配置实例:
    dbpath = d:/mongodb/shard/data/config
    logpath = d:/mongodb/shard/log/config.log
    cOnfigsvr= true
    logappend = true
    port = 30001
    rest=true

#./mongos.conf 配置实例
    logpath = d:/mongodb/shard/log/mongos.log
    cOnfigdb= localhost:30001
    logappend = true
    port = 40001
    chunkSize = 1            #设置chunk大小。以兆为单位

#配置并启动mongo服务
cmd:>
mongod -f d:/mongodb/shard/shard1.conf
cmd:>
mongod -f d:/mongodb/shard/shard2.conf
cmd:>
mongod -f d:/mongodb/shard/config.conf
cmd:>
mongos -f d:/mongodb/shard/mongos.conf
mongo:>mongo admin --port 40001                                   #连接到mongos的admin库
mongo:>db.runCommand({addshard:"localhost:20001"})                #添加分片服务器
mongo:>db.runCommand({addshard:"localhost:20002"})                #添加分片服务器
mongo:>db.runCommand({enablesharding:"test"})                     #设置要分片的数据库
mongo:>db.runCommand({shardcollection:"test.users",key:{_id:1}})  #设置分片的集合名称,且必须指定shard key.系统自动创建索引
mongo:>for (var i=1;i<=500000;i++) db.users.insert({age:i,name:"test",addr:"shanghai",country:"China"})
mongo:>db.users.stats();                                          #查看表的状态,包括是否分片,分片上数据大小等等。
mongo:>db.runCommand({listshards:1})                              #列出所有的 shard server.
mongo:>printShardingStatus()                                      #查看sharding信息
mongo:>db.runCommand({isdbgrid:1})                                #判断是否是sharding
mongo:>db.runCommand({shardcollection:"test.users2",key:{_id:1}}) #对user2的集合进行分片

#新增|删除shard server
cmd:>
mongod -f d:/mongodb/shard/shard3.conf
mongo:>mongo admin --port 40001                      #连接到mongos的admin库
mongo:>db.runCommand({addshard:"localhost:20003"})   #添加分片服务器
mongo:>db.runCommand({removeshard:"localhost:2003"}) #移除分片服务器

推荐阅读
  • 58同城的Elasticsearch应用与平台构建实践
    本文由58同城高级架构师于伯伟分享,由陈树昌编辑整理,内容源自DataFunTalk。文章探讨了Elasticsearch作为分布式搜索和分析引擎的应用,特别是在58同城的实施案例,包括集群优化、典型应用实例及自动化平台建设等方面。 ... [详细]
  • 近期参与了一个旨在提高在线平台大规模查询响应速度的项目,预计处理的数据量为2-3亿条,数据库并发量约为每秒1500次,未来可能增至3000次。通过对比Redis和MongoDB,最终选择了MongoDB,因其具备优秀的横向扩展性和GridFS支持下的Map/Reduce功能。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 解决MongoDB Compass远程连接问题
    本文记录了在使用阿里云服务器部署MongoDB后,通过MongoDB Compass进行远程连接时遇到的问题及解决方案。详细介绍了从防火墙配置到安全组设置的各个步骤,帮助读者顺利解决问题。 ... [详细]
  • Mongoose 5.12.10 发布:MongoDB 异步对象模型工具的新特性与修复
    Mongoose 是一款专为异步环境设计的 MongoDB 对象模型工具,支持 Promise 和回调函数。最新版本 Mongoose 5.12.10 带来了多项修复和改进,包括查询选项中的默认值设置、嵌入式判别器填充、以及 TypeScript 定义文件的优化。 ... [详细]
  • 本文介绍了如何利用MongoDB的$exists操作符在Java应用程序中检查特定字段是否存在于文档中,包括示例代码和解释。 ... [详细]
  • 本文将介绍如何利用Python爬虫技术抓取国内主流在线学习平台的数据,并以51CTO学院为例,进行详细的技术解析和实践操作。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 利用 Jest 和 Supertest 实现接口测试的全面指南
    本文深入探讨了如何使用 Jest 和 Supertest 进行接口测试,通过实际案例详细解析了测试环境的搭建、测试用例的编写以及异步测试的处理方法。 ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • ArchSummit深圳2014将于7月18日拉开帷幕,所有讲师已确认,涵盖9个热门话题,共36场精彩报告。InfoQ中文站提供了详细的讲师和报告列表。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
author-avatar
冲绳草莽英雄_266
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有