• MongoDB整理笔记の移除Shard Server


        有些时候有于硬件资源有限,所以我们不得不进行一些回收工作,下面我们就要将刚刚启用的Shard Server 回收,系统首先会将在这个即将被移除的Shard Server 上的数据先平均分配到其它的Shard Server 上,然后最终在将这个Shard Server 踢下线, 我们需要不停的调用db.runCommand({"removeshard" :"localhost:20002"});来观察这个移除操作进行到哪里了:

    > use admin
    switched to db admin
    > db.runCommand({"removeshard" : "localhost:20002"});
    {
    "msg" : "draining started successfully",
    "state" : "started",
    "shard" : "shard0002",
    "ok" : 1
    }
    > db.runCommand({"removeshard" : "localhost:20002"});
    {
    "msg" : "draining ongoing",
    "state" : "ongoing",
    "remaining" : {
    "chunks" : NumberLong(44),
    "dbs" : NumberLong(0)
    },
    "ok" : 1
    }
    ……
    > db.runCommand({"removeshard" : "localhost:20002"});
    {
    "msg" : "draining ongoing",
    "state" : "ongoing",
    "remaining" : {
    "chunks" : NumberLong(1),
    "dbs" : NumberLong(0)
    },
    "ok" : 1
    }
    > db.runCommand({"removeshard" : "localhost:20002"});
    {
    "msg" : "removeshard completed successfully",
    "state" : "completed",
    "shard" : "shard0002",
    "ok" : 1
    }
    > db.runCommand({"removeshard" : "localhost:20002"});
    {
    "assertion" : "can't find shard for: localhost:20002",
    "assertionCode" : 13129,
    "errmsg" : "db assertion failure",
    "ok" : 0
    }
    View Code

        最终移除后,当我们再次调用db.runCommand({"removeshard" : "localhost:20002"});的时候系统会报错,已便通知我们不存在20002 这个端口的Shard Server 了,因为它已经被移除掉了。

    > use test
    switched to db test
    > db.users_2.stats()
    {
    "sharded" : true,
    "ns" : "test.users_2",
    "count" : 500000,
    "size" : 48000000,
    "avgObjSize" : 96,
    "storageSize" : 95203584,
    "nindexes" : 1,
    "nchunks" : 92,
    "shards" : {
    "shard0000" : {
    "ns" : "test.users_2",
    "count" : 248749,
    "size" : 23879904,
    "avgObjSize" : 96,
    "storageSize" : 61875968,
    "numExtents" : 11,
    "nindexes" : 1,
    "lastExtentSize" : 15001856,
    "paddingFactor" : 1,
    "flags" : 1,
    "totalIndexSize" : 13033472,
    "indexSizes" : {
    "_id_" : 13033472
    },
    "ok" : 1
    },
    "shard0001" : {
    "ns" : "test.users_2",
    "count" : 251251,
    "size" : 24120096,
    "avgObjSize" : 96,
    "storageSize" : 33327616,
    "numExtents" : 8,
    "nindexes" : 1,
    "lastExtentSize" : 12079360,
    "paddingFactor" : 1,
    "flags" : 1,
    "totalIndexSize" : 10469376,
    "indexSizes" : {
    "_id_" : 10469376
    },
    "ok" : 1
    }
    },
    "ok" : 1
    }
    View Code

        可以看出数据又被平均分配到了另外2 台Shard Server 上了!

     

  • 相关阅读:
    R语言统计词频 画词云
    Bootstrap抽样(自展法)
    基于adt-bundle-windows-x86的android开发环境搭建
    逆分布函数法生成随机数(指数分布) R语言实现
    2016-ccf-data-mining-competition 搜狗用户画像构建
    算法第四版 在Linux 中调用Algs4库
    解决Ubuntu Chrome浏览器很卡不响应的问题
    Linux下安装系统清理软件 BleachBit 1.4
    C语言编程-9_4 字符统计
    C++调用Matlab函数求特征值
  • 原文地址:https://www.cnblogs.com/tomcatx/p/4245682.html
Copyright © 2020-2023  润新知