mongo-副本集分片测试

http://www.cnblogs.com/yuechaotian/archive/2012/10/31/2747951.html

mongo-副本集分片测试

1. 启动一对副本集(增加分片参数)

D:\mongodb>mongod --dbpath=d:\mongodb\db --port 2222 --replSet neu/127.0.0.1:3333 --shardsvr

E:\mongodb>mongod --dbpath=e:\mongodb\db --port 3333 --replSet neu/127.0.0.1:2222 --shardsvr

2. 启动仲裁

F:\mongodb>mongod --dbpath=f:\mongodb\db --port 4444 --replSet neu/127.0.0.1:2222

3. 启动配置库

G:\mongodb>mongod --dbpath=g:\mongodb\configdb --port 30000 --configsvr

4. 启动mongos

C:\>mongos --port 20000 --configdb 127.0.0.1:30000

5. 连接到mongos,配置分片信息

C:\>mongo 127.0.0.1:20000/admin

MongoDB shell version: 1.8.3

connecting to: 127.0.0.1:20000/admin

#(1)将这一对副本集作为一个片

> db.runCommand({addshard:"neu/127.0.0.1:2222,127.0.0.1:3333",name:"neu"})

{ "shardAdded" : "neu", "ok" : 1 }

#(2)查看分片信息

> db.runCommand({listshards:1})

{

"shards" : [

{

"_id" : "neu",

"host" : "neu/127.0.0.1:2222,127.0.0.1:3333"

}

],

"ok" : 1

}

#(3)将test数据库设置为分片

> db.runCommand({"enablesharding":"test"})

{ "ok" : 1 }

#(4)将test库的表yctshard设置为分片,片键为name

> db.runCommand({"shardcollection":"test.yctshard","key":{"name":1}})

{ "collectionsharded" : "test.yctshard", "ok" : 1 }

#(5)在yctshard中插入数据,并查看分片情况

> use  test

switched to db test

> for (var i=1;i<300000; i++) db.test.yctshard.save({"name":"yct"+i,age:30+i})

#(6)查看数据库分片信息

> db.printShardingStatus()

--- Sharding Status ---

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

shards:

{ "_id" : "neu", "host" : "neu/127.0.0.1:2222,127.0.0.1:3333" }

databases:

{ "_id" : "admin", "partitioned" : false, "primary" : "config" }

{ "_id" : "tage", "partitioned" : false, "primary" : "neu" }

{ "_id" : "test", "partitioned" : true, "primary" : "neu" }

test.yctshard chunks:

neu     1

{ "name" : { $minKey : 1 } } -->> { "name" : { $maxKey : 1 } } on : neu { "t" : 1000, "i" : 0 }

#(7)查看表yctshard分片信息

> use test

switched to db test

> db.yctshard.stats()

{

"sharded" : true,

"ns" : "test.yctshard",

"count" : 299999,

"size" : 16795968,

"avgObjSize" : 55.986746622488745,

"storageSize" : 33327616,

"nindexes" : 2,

"nchunks" : 1,

"shards" : {

"neu" : {

"ns" : "test.yctshard",

"count" : 299999,

"size" : 16795968,

"avgObjSize" : 55.986746622488745,

"storageSize" : 33327616,

"numExtents" : 8,

"nindexes" : 2,

"lastExtentSize" : 12079360,

"paddingFactor" : 1,

"flags" : 1,

"totalIndexSize" : 35160064,

"indexSizes" : {

"_id_" : 12492800,

"name_1" : 22667264

},

"ok" : 1

}

},

"ok" : 1

}

>

#(8)在primary节点上可以查询集合yctshard中的数据,但在secondary节点上不能查询,setSlaveOK即可

C:\>mongo 127.0.0.1:2222/admin

MongoDB shell version: 1.8.3

connecting to: 127.0.0.1:2222/admin

neu:SECONDARY> db.yctshard.find()

error: { "$err" : "not master and slaveok=false", "code" : 13435 }

neu:SECONDARY> db.getMongo().setSlaveOk()

not master and slaveok=false

neu:SECONDARY> db.yctshard.find()

neu:SECONDARY> use test

switched to db test

neu:SECONDARY> db.yctshard.find()

{ "_id" : ObjectId("5090bed6605f7a295d61f4ef"), "name" : "yct1", "age" : 31 }

{ "_id" : ObjectId("5090bed6605f7a295d61f4f0"), "name" : "yct2", "age" : 32 }

{ "_id" : ObjectId("5090bed6605f7a295d61f4f1"), "name" : "yct3", "age" : 33 }

...

{ "_id" : ObjectId("5090bed6605f7a295d61f501"), "name" : "yct19", "age" : 49 }

{ "_id" : ObjectId("5090bed6605f7a295d61f502"), "name" : "yct20", "age" : 50 }

has more

neu:SECONDARY>

时间: 2024-08-01 11:43:52

mongo-副本集分片测试的相关文章

mongo副本集原理,搭建

#进入mongo mongo   默认端口27017启动的mongo服务,直接进入 mongo --port=27027   指定端口27027启动mongo服务,需加端口号启动 mongo 103.56.195.5:27017   登录指定主机的mongo服务,可以以此测试对端防火墙是否放通,mongo服务器端口 #mongo副本集启动参数: [[email protected] db]# ps aux |grep mongo root     112542  0.7  0.1 1058417

Mongodb 副本集+分片集群搭建

环境需求: 在三台机器上搭建副本集,在副本集上做分片 服务器IP: 192.168.1.232/192.168.1.238/192.168.1.241 安装Mongodb all nodes: tar zxvf mongodb-linux-x86_64-rhel62-3.4.4.tgz cp -rvf  mongodb-linux-x86_64-rhel62-3.4.4  /opt/mongodb_3.4.4 cd /opt/mongodb_3.4.4/ mkdir -pv conf logs

Centos6.6搭建mongodb3.2.6副本集分片

1.环境准备centos6.6 x64 3台192.168.0.23192.168.0.24192.168.0.201 2.集群规划每个机器同时启动mongos.config server .shard0.shard2.shard3,config server得ip端口分别为:192.168.0.23:1111,192.168.0.24:1111,192.168.0.201:1111mongos得ip端口分别为:192.168.0.23:2222,192.168.0.24:2222,192.16

我们的一个已投产项目的高可用数据库实战 - mongo 副本集的搭建详细过程

我们的 mongo 副本集有三台 mongo 服务器:一台主库两台从库.主库进行写操作,两台从库进行读操作(至于某次读操作究竟路由给了哪台,仲裁决定),实现了读写分离.这还不止,如果主库宕掉,还能实现不需要用户干预的情况下,将主库自动切换到另外两台从库中的某一台,真正实现了 db 的高可用. 1. 背景 1.1 环境 CPU核数:4 内存配置:8G 带宽:100MB 磁盘:系统盘 40G,数据盘 180G 操作系统版本:Ubuntu 14.04 64位 1.2 系统部署结构图 2. MongoD

mongo副本集mongos启动报错

背景 项目采用mongo副本集的形式存储数据,经常出现无故断电导致某个副本mongos启动不起来的问题. 环境介绍 mongodb副本集:mongo01:192.168.36.218mongo02:192.168.36.219mongo03:192.168.36.220 报错信息 mongo03副本上mongos启动不起来,执行命令报错: [[email protected] ~]# mongos --configdb 192.168.36.218:20000,192.168.36.219:20

搭建mongodb集群(副本集+分片)

完整的搭建mongodb集群(副本集+分片)的例子... 准备四台机器,分别是bluejoe1,bluejoe2,bluejoe3,以及bluejoe0 副本集及分片策略确定如下: 将创建3个副本集,命名为shard1,shard2,shard3: 以上3个副本集作为3个分片: 每个副本集包含2个副本(主.辅): 副本分开存储,即shard1存在bluejoe1和bluejoe2上各一份...以此类推 将创建3个配置库实例,一台机器一个 bluejoe0上配置一个mongos(mongos一般可

MongoDB 副本集+分片 认证方式搭建

MongoDB 副本集+分片 认证方式搭建 参考资料: https://www.cnblogs.com/ityouknow/p/7344005.htmlhttps://jorwen-fang.iteye.com/blog/2031756https://www.cnblogs.com/bjx2020/p/9350232.htmlhttps://www.jb51.net/article/161315.htmhttps://blog.51cto.com/beigai/1751381 环境规划: 服务器

mongo副本集搭建及服务器复用方案

比较常见的mongodb副本集搭建是有:常规节点.数据副本.仲裁节点组成,也就是需要三台服务器组建.常规节点即数据的主存储节点,数据副本是主存储节点的从属节点,它定期去主节点获取更新日志来更新自己.仲裁节点的作用是为客户端指明连接方向(选择主还是选择从),主节点存活时连接主节点,主节点挂掉时连接从节点. 但上述方案有一个弊端,当仲裁节点挂掉以后,整个集群同样面临挂掉的危险. 第二种方案:一个主节点,两个从节点.从节点都定期去主节点获取更新日志.当主节点挂掉以后,会按优先级在两个从节点中选取一个当

MongoDB 高可用集群副本集+分片搭建

MongoDB 高可用集群搭建 一.架构概况 192.168.150.129192.168.150.130192.168.150.131 参考文档:https://www.cnblogs.com/vadim/p/7100683.html mongos mongos    mongos Config   server      Config server  Config serverShared1 server 1 Shared1 server 1 副本 Shared1 server 1 仲裁/隐