注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

Sharding:Shard Cluster 增加 shard 节点  

2012-12-17 22:15:48|  分类: MongoDB |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

          上篇 blog 介绍了搭建单节点 shard ,在某些情况下需要增加 shard 节点,
接下来介绍下。


一 现有环境
--1.1 查看Sharding Cluster 状态

 mongos> sh.status();
---Sharding Status ---
  sharding version: { "_id" : 1, "version" : 3 }
  shards:
        {  "_id" : "shard0000",  "host" : "redhatB.example.com:5281" }
        {  "_id" : "shard0001",  "host" : "redhatB.example.com:5282" }
  databases:
        {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }
        {  "_id" : "test",  "partitioned" : false,  "primary" : "shard0000" }
        {  "_id" : "francs",  "partitioned" : true,  "primary" : "shard0000" }
                francs.test_1 chunks:
                                shard0000       2
                                shard0001       1
                        { "id" : { $minKey : 1 } } -->> { "id" : 1 } on : shard0000 Timestamp(2000, 1)
                        { "id" : 1 } -->> { "id" : 11828 } on : shard0000 Timestamp(1000, 3)
                        { "id" : 11828 } -->> { "id" : { $maxKey : 1 } } on : shard0001 Timestamp(2000, 0)
        {  "_id" : "records",  "partitioned" : false,  "primary" : "shard0000" }
   
      备注:两单节点的 shard。
 

--1.2 查看当前 test_1 集合状态

 mongos> db.test_1.stats();
{
        "sharded" : true,
        "ns" : "francs.test_1",
        "count" : 50000,
        "numExtents" : 10,
        "size" : 1800024,
        "storageSize" : 5849088,
        "totalIndexSize" : 3131408,
        "indexSizes" : {
                "_id_" : 1684256,
                "id_1" : 1447152
        },
        "avgObjSize" : 36.00048,
        "nindexes" : 2,
        "nchunks" : 4,
        "shards" : {
                "shard0000" : {
                        "ns" : "francs.test_1",
                        "count" : 34350,
                        "size" : 1236600,
                        "avgObjSize" : 36,
                        "storageSize" : 3055616,
                        "numExtents" : 5,
                        "nindexes" : 2,
                        "lastExtentSize" : 2359296,
                        "paddingFactor" : 1,
                        "systemFlags" : 1,
                        "userFlags" : 0,
                        "totalIndexSize" : 2125760,
                        "indexSizes" : {
                                "_id_" : 1144640,
                                "id_1" : 981120
                        },
                        "ok" : 1
                },
                "shard0001" : {
                        "ns" : "francs.test_1",
                        "count" : 15650,
                        "size" : 563424,
                        "avgObjSize" : 36.00153354632588,
                        "storageSize" : 2793472,
                        "numExtents" : 5,
                        "nindexes" : 2,
                        "lastExtentSize" : 2097152,
                        "paddingFactor" : 1,
                        "systemFlags" : 1,
                        "userFlags" : 0,
                        "totalIndexSize" : 1005648,
                        "indexSizes" : {
                                "_id_" : 539616,
                                "id_1" : 466032
                        },
                        "ok" : 1
                }
        },
        "ok" : 1
}
     备注:集合 test_1 的数据分布在两 shard 节点。
 
 
二 新增 shard3 节点
--2.1 创建 shard3 数据目录和配置文件

 [shard@redhatB shard]$ mkdir -p /shard/shard3
[shard@redhatB shard]$ touch /shard/shard3/shard3_5283.conf
vim /shard/shard3/shard3_5283.conf

fork = true
port = 5283
dbpath = /shard/shard3
logpath = /shard/shard3/shard3.log
logappend = true
journal = true 

   

--2.2 启动 shard3 节点

 [shard@redhatB shard]$ mongod -f /shard/shard3/shard3_5283.conf
forked process: 23241
all output going to: /shard/shard3/shard3.log
child process started successfully, parent exiting
      
 
 
--2.3 新增 shard 节点

 [shard@redhatB ~]$ mongo 127.0.0.1:7282
MongoDB shell version: 2.2.1
connecting to: 127.0.0.1:7282/test
mongos> sh.addShard("redhatB.example.com:5283"); 
{ "shardAdded" : "shard0002", "ok" : 1 }
     备注:通过命令 addShard 新增 shard 节点。


--2.4 再次查看 shard cluster 状态

 mongos> sh.status();
--- Sharding Status ---
  sharding version: { "_id" : 1, "version" : 3 }
  shards:
        {  "_id" : "shard0000",  "host" : "redhatB.example.com:5281" }
        {  "_id" : "shard0001",  "host" : "redhatB.example.com:5282" }
        {  "_id" : "shard0002",  "host" : "redhatB.example.com:5283" }
  databases:
        {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }
        {  "_id" : "test",  "partitioned" : false,  "primary" : "shard0000" }
        {  "_id" : "francs",  "partitioned" : true,  "primary" : "shard0000" }
                francs.test_1 chunks:
                                shard0002       1
                                shard0000       1
                                shard0001       1
                        { "id" : { $minKey : 1 } } -->> { "id" : 1 } on : shard0002 Timestamp(3000, 0)
                        { "id" : 1 } -->> { "id" : 11828 } on : shard0000 Timestamp(3000, 1)
                        { "id" : 11828 } -->> { "id" : { $maxKey : 1 } } on : shard0001 Timestamp(2000, 0)
        { 
   
        
       
--2.5 查看 test_1 集合状态
 mongos> db.test_1.stats();
{
        "sharded" : true,
        "ns" : "francs.test_1",
        "count" : 50000,
        "numExtents" : 15,
        "size" : 1800048,
        "storageSize" : 8642560,
        "totalIndexSize" : 3147760,
        "indexSizes" : {
                "_id_" : 1692432,
                "id_1" : 1455328
        },
        "avgObjSize" : 36.00096,
        "nindexes" : 2,
        "nchunks" : 4,
        "shards" : {
                "shard0000" : {
                        "ns" : "francs.test_1",
                        "count" : 1964,
                        "size" : 70704,
                        "avgObjSize" : 36,
                        "storageSize" : 3055616,
                        "numExtents" : 5,
                        "nindexes" : 2,
                        "lastExtentSize" : 2359296,
                        "paddingFactor" : 1,
                        "systemFlags" : 1,
                        "userFlags" : 0,
                        "totalIndexSize" : 138992,
                        "indexSizes" : {
                                "_id_" : 73584,
                                "id_1" : 65408
                        },
                        "ok" : 1
                },
                "shard0001" : {
                        "ns" : "francs.test_1",
                        "count" : 15650,
                        "size" : 563424,
                        "avgObjSize" : 36.00153354632588,
                        "storageSize" : 2793472,
                        "numExtents" : 5,
                        "nindexes" : 2,
                        "lastExtentSize" : 2097152,
                        "paddingFactor" : 1,
                        "systemFlags" : 1,
                        "userFlags" : 0,
                        "totalIndexSize" : 1005648,
                        "indexSizes" : {
                                "_id_" : 539616,
                                "id_1" : 466032
                        },
                        "ok" : 1
                },
                "shard0002" : {
                        "ns" : "francs.test_1",
                        "count" : 32386,
                        "size" : 1165920,
                        "avgObjSize" : 36.000741060952265,
                        "storageSize" : 2793472,
                        "numExtents" : 5,
                        "nindexes" : 2,
                        "lastExtentSize" : 2097152,
                        "paddingFactor" : 1,
                        "systemFlags" : 1,
                        "userFlags" : 0,
                        "totalIndexSize" : 2003120,
                        "indexSizes" : {
                                "_id_" : 1079232,
                                "id_1" : 923888
                        },
                        "ok" : 1
                }
        },
        "ok" : 1
}
     备注:数据已分散到节点 shard3 了,这些工作是一个名为 Balancing 的进程完成的,
               如果数据比较大,这步花的时间越长,这里不详细介绍。

 

三 参考
http://docs.mongodb.org/manual/tutorial/add-shards-to-shard-cluster/

  评论这张
 
阅读(13061)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016