`
chakey
  • 浏览: 364379 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

【7】MongoDB分片管理(Sharding Administration)

阅读更多

 

【7】MongoDB分片管理(Sharding Administration)

下面介绍几个非常有用的命令,可以获取一个分片集群的一些配置信息。

关于如何配置分片请查看:

http://datalife.iteye.com/blog/805201

 

一:如果判断是否是分片集群?

// Test if we're speaking to a mongos process or 

// straight to a mongod process

> db.runCommand({ isdbgrid : 1});

 

// if connected to mongos, this command returns { ismaster: 0.0, msg: "isdbgrid" }

> db.runCommand({ismaster:1});

 

二:如何列举出所有存在的分片?

> db.runCommand({ listShards : 1});

{"servers" :

 [{"_id" :  ObjectId( "4a9d40c981ba1487ccfaa634")  ,

   "host" : "localhost:10000"},

  {"_id" :  ObjectId( "4a9d40df81ba1487ccfaa635")  ,

   "host" : "localhost:10001"}

 ],

 "ok" : 1

}

 

三:如何列举出哪些数据库被分片了?

这里我们需要查询config 数据库,getSisterDB命令用于返回config数据库。

> config = db.getSisterDB("config")

> config.system.namespaces.find()

 

四:如果查看分片的详细信息?

> use admin

> db.printShardingStatus();

 

// A very basic sharding configuration on localhost

sharding version: { "_id" : 1, "version" : 2 }

  shards:

      { "_id" : ObjectId("4bd9ae3e0a2e26420e556876"), "host" : "localhost:30001" }

      { "_id" : ObjectId("4bd9ae420a2e26420e556877"), "host" : "localhost:30002" }

      { "_id" : ObjectId("4bd9ae460a2e26420e556878"), "host" : "localhost:30003" }

 

  databases:

{ "name" : "admin", "partitioned" : false, 

          "primary" : "localhost:20001", 

          "_id" : ObjectId("4bd9add2c0302e394c6844b6") }

my chunks

        { "name" : "foo", "partitioned" : true,

          "primary" : "localhost:30002", 

          "sharded" : { "foo.foo" : { "key" : { "_id" : 1 }, "unique" : false } },

          "_id" : ObjectId("4bd9ae60c0302e394c6844b7") }

        my chunks

        foo.foo { "_id" : { $minKey : 1 } } -->> { "_id" : { $maxKey : 1 } } 

                  on : localhost:30002 { "t" : 1272557259000, "i" : 1 }

 

第一个数据库是主数据库(admin database),没有分区,位于config服务器,端口20001.

第二个数据库,有分区,因为foo数据库没有数据,所有只有一个块(chunk)。

 

五:块操作(chunk operations)

MongoDB 1.6版本的是可以自动的控制块的大小的,当然也是可以手动调整的。

db.runCommand( { moveChunk : "test.blog.posts" , 

                 find : { author : "eliot" } , 

                 to : "shard1" } )

三个参数:

movechunk:包含数据库名称的全命名空间的collection

find: 属于将被移动的块的查询语句

to: 将被移动的块的shard id

 

 

0
0
分享到:
评论

相关推荐

    k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)

    本解决方案通过使用 Kubernetes 部署 MongoDB 分片(Sharding)和副本集(Replica Set),从而实现 MongoDB 集群的自动化管理和高可用性。 在本解决方案中,我们首先需要安装 Kubernetes 环境,并且需要准备好 NFS ...

    配置mongodb分片群集(sharding cluster)

    在处理大数据或高并发场景时,MongoDB提供了分片(Sharding)功能,以实现水平扩展,满足大规模数据存储和处理的需求。本文将详细探讨如何配置MongoDB的分片集群。 **一、分片概念** 1. **分片(Sharding)**:在...

    mongodb分片备份

    MongoDB 是一个高性能、开源的文档型数据库,广泛应用于各种规模的企业和项目中。...通过上述方法,你可以有效地管理和保护MongoDB的分片和复制集数据,确保在系统出现问题时能够快速恢复,从而保障业务的连续性。

    mongodb分片设计

    数据管理(Sharded Cluster Data Management)章节讲解了标签感知分片(Tag Aware Sharding)、为分片集合强制执行唯一键(Enforce Unique Keys for Sharded Collections)、分片GridFS数据存储(Shard GridFS Data ...

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

    分片(Sharding)是MongoDB中的关键特性,旨在通过将数据分散到多个物理节点来处理大规模的数据存储和查询。分片群集由三个主要组件构成: 1. **分片服务器(Shard Server)**:存储实际的数据,每个分片负责一部分...

    MongoDB分片介绍

    MongoDB 分片是一种水平扩展策略,用于处理大数据量和高并发场景...总的来说,MongoDB的分片技术旨在提供可扩展性和高性能,通过合理配置和管理,能够在大规模数据存储和高并发访问的环境中保持系统稳定性和响应速度。

    实验五 MongoDB分片部署与启动

    ### 实验五 MongoDB分片部署与启动 #### 实验综述 本次实验旨在深入学习MongoDB的分片机制,理解并掌握如何部署一个基于多服务器的MongoDB分片集群。分片是MongoDB的一项重要特性,它允许将数据分散存储在多个物理...

    mongodb分片集群增加acl

    本文将详细介绍在MongoDB 3.6版本中如何增加分片集群的ACL(访问控制列表)权限,以及在搭建分片集群过程中可能遇到的一些问题及其解决方案。 ### MongoDB分片集群简介 MongoDB分片集群是一种分布式数据存储结构,...

    MongoDB分片副本级

    MongoDB分片副本级 详细的讲述了MongoDB分片副本级配置

    2012 最新的mongodb sharding配置步骤 权威指南 分片步骤

    在处理海量数据时,为了提高性能和可扩展性,MongoDB 提供了分片(Sharding)功能,即将数据分散到多个物理节点上,实现水平扩展。本文将详细介绍2012年最新的MongoDB分片配置步骤,适用于权威的MongoDB环境搭建。 ...

    MongoDB4.2分片及副本集群搭建

    MongoDB4.2分片及副本集群搭建 MongoDB集群 MongoDB分片 MongoDB副本 MongoDB副本集群

    mongodb Replica Sets +Sharding高可用集群搭建

    在大型分布式系统中,为了实现高可用性和水平扩展,MongoDB提供了两种关键特性:副本集(Replica Sets)和分片(Sharding)。这篇博客将探讨如何搭建MongoDB的副本集和分片集群。 首先,我们来理解一下MongoDB的...

    30分钟学MongoDB系列——分布式架构分片(Sharding)

    其中,分片(Sharding)是MongoDB中非常重要的分布式特性之一,它能够帮助数据库管理系统实现数据的水平扩展,以提升整个系统的处理能力和吞吐量。 分片概念的起源可以追溯到大型多人在线角色扮演游戏(MMORPG),...

    MongoDB 集群配置示例之 sharding 模式

    在MongoDB集群的sharding模式下,数据被自动分片和平衡,保证了高性能和高可用性。在实际应用中,建议根据数据访问模式合理选择shardkey,以确保数据均匀分布,避免性能瓶颈。同时,要定期检查集群健康状况,包括...

    mongodb分片

    在MongoDB中,分片(Sharding)是解决大规模数据存储和高并发访问的有效手段。 **分片节点:** 1. **Mongos**:作为客户端与数据存储之间的路由器,它接收来自应用程序的请求,根据元数据确定数据所在的分片,并将...

    mongoDB sharding复制模式搭建官网文档

    在MongoDB中,分片能够帮助用户管理大量数据和高并发访问需求,提高数据读写性能。 **1.2 MongoDB中的分片** MongoDB的分片机制允许用户将数据集分布在多个物理服务器上,这些服务器被称为分片(Shards)。每个分...

    Linux下Mongodb的分布式分片群集shardingcluster配置.pdf

    MongoDB的分布式分片群集(Sharding Cluster)是一种针对大数据量场景的高效扩展解决方案。在MongoDB中,分片(Sharding)是通过将数据分布在多台服务器上来实现水平扩展,以处理海量数据和高并发请求。这种架构通常...

    13、MongoDB分片集群&高级集群架构详解-ev.rar

    13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群...

    mongoDB分片技术处理方案

    在数据量不断增长的情况下,为了保持高效的查询性能和存储能力,MongoDB提供了分片(Sharding)技术。分片是将大型数据集分散到多个物理节点上的一种策略,每个节点存储数据的一部分,从而实现水平扩展。 一、...

    MongoDB Sharding 机制分析

    MongoDB Sharding 机制分析 MongoDB Sharding 机制是 MongoDB 中的一种机制,用于将数据水平切分到不同的物理节点,以解决单机性能极限的问题。Sharding 可以利用上更多的硬件资源来解决单机性能极限的问题,并减小...

Global site tag (gtag.js) - Google Analytics