MongoDB 搭建分片集群(2)

--config server 1 mongod -f C:\data\config\cfgsvr_1.conf --config server 2 mongod -f C:\data\config\cfgsvr_2.conf --config server 3 mongod -f C:\data\config\cfgsvr_3.conf

3,Router
mongos是路由服务器(Router),mongos需要config server的地址列表,通过--configdb 指定 router 能够访问的 config server列表。mongos 不保存数据,不需要指定dbpath参数,mongos在启动时从config server加载集群数据,可以启动任意数量的mongos,每个mongos使用相同的config server 列表。

在router-svr1 上创建mongos,将配置文档存储在C:\data\mongos\cfg_mongos.conf,使用--port 参数指定mongos 进程监听的端口。

--mongos 1
logpath=C:\data\mongos\mongos_log.log port=60001 configdb=cfg-svr1:50001,cfg-svr2:50002,cfg-svr2:50003

启动mongos

mongos -f C:\data\mongos\cfg_mongos.conf

四,增加Shard

1,连接到mongos

mongo --host router-svr1 --port 60001

查看分片的状态,分片集群中并没有任何一个shard

sh.status()

2,增加Shard

每一个shard 用于存储数据的一个分片,存储数据的Server可以是Replica Set,也可以是Standalone mongod。

为分片集群增加一个Replica Set 分片

sh.addShard("replica_set_name/host:port")

为分片集群增加一个Standalone mongod

sh.addShard("host:port")

3,使数据库启用分片存储

sh.enableSharding("database name")

4,使数据库中的一个集合启用分片存储
在将collection启用分片存储之前,必须在collection上创建单键或双键index。

db.collection_name.createIndex({field:1}) sh.shardCollection("dbname.collection_name",{field:1})

5,向集合中插入,MongoDB将自动管理分片

db.collection_name.insert({....})

Application连接mongos,写入或读取数据,由mongos 路由到相应的shard,这个过程是自动完成的。

更多MongoDB相关教程见以下内容

CentOS 编译安装 MongoDB与mongoDB的php扩展

CentOS 6 使用 yum 安装MongoDB及服务器端配置

Ubuntu 13.04下安装MongoDB2.4.3

MongoDB入门必读(概念与实战并重)

Ubunu 14.04下MongoDB的安装指南

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Nagios监控MongoDB分片集群服务实战

基于CentOS 6.5操作系统搭建MongoDB服务 uxidc.com/Linux/2014-11/108900.htm

MongoDB 的详细介绍请点这里
MongoDB 的下载地址请点这里

参考文档:

Sharded Cluster Administration

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3622b4aaaf433db2e054201b68fc92bb.html