热门标签 | 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"}) #移除分片服务器

推荐阅读
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 华为与红帽联手,加速开源电信软件革新
    华为与红帽携手合作,旨在加速开源电信软件的发展,以满足大型电信运营商对灵活网络解决方案的需求。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 第一步java代码条件匹配与之对应的mongo数据查询第二步:java代码分组查询与之所对应的mongodb中sheel与所得出的表点击某个_id字段进入,所得出的图表为第三步:在 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
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社区 版权所有