配置mongodb分片群集(sharding cluster)

上传人:ji****72 文档编号:39544753 上传时间:2018-05-17 格式:DOCX 页数:12 大小:111.45KB
返回 下载 相关 举报
配置mongodb分片群集(sharding cluster)_第1页
第1页 / 共12页
配置mongodb分片群集(sharding cluster)_第2页
第2页 / 共12页
配置mongodb分片群集(sharding cluster)_第3页
第3页 / 共12页
配置mongodb分片群集(sharding cluster)_第4页
第4页 / 共12页
配置mongodb分片群集(sharding cluster)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《配置mongodb分片群集(sharding cluster)》由会员分享,可在线阅读,更多相关《配置mongodb分片群集(sharding cluster)(12页珍藏版)》请在金锄头文库上搜索。

1、配置配置 mongodbmongodb 分片群集分片群集(sharding(sharding cluster)cluster) 这是一种可以水平扩展的模式,在数据量很大时特给力,实际大规模应用一般会采用这种架构去构建 monodb 系统。要构建一个 MongoDB Sharding Cluster,需要三种角色:Shard Server: mongod 实例,用于存储实际的数据块,实际生产环境中一个shard server 角色可由几台机器组个一个 relica set 承担,防止主机单点故障Config Server: mongod 实例,存储了整个 Cluster Metadata,其中包

2、括 chunk 信息。Route Server: mongos 实例,前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用。Sharding 架构图:本例实际环境架构本例架构示例图:分别在 3 台机器运行一个 mongod 实例(称为 mongod shard11,mongod shard12,mongod shard13)组织 replica set1,作为 cluster 的 shard1 1. 分别在 3 台机器运行一个 mongod 实例(称为 mongod shard21,mongod shard22,mongod shard23)组织 replica se

3、t2,作为 cluster 的 shard2 2. 每台机器运行一个 mongod 实例,作为 3 个 config server 3. 每台机器运行一个 mongs 进程,用于客户端连接 主机主机 IP端口信息端口信息Server110.1.1.1mongod shard11:27017mongod shard21:27018mongod config1:20000mongs1:30000Server210.1.1.2mongod shard12:27017mongod shard22:27018mongod config2:20000mongs2:30000Server310.1.1.3m

4、ongod shard13:27017mongod shard23:27018mongod config3:20000mongs3:30000软件准备软件准备软件准备1. 创建用户groupadd -g 20001 mongodbuseradd -u 20001 -g mongodb mongodbpasswd mongodb2. 安装 monodb 软件su mongodbtar zxvf mongodb-linux-x86_64-1.6.2.tar安装好后,目录结构如下:$ tree mongodb-linux-x86_64-1.6.2mongodb-linux-x86_64-1.6.2|

5、 GNU-AGPL-3.0| README| THIRD-PARTY-NOTICES bin| bsondump| mongo| mongod| mongodump| mongoexport| mongofiles| mongoimport| mongorestore| mongos| mongosniff mongostat1 directory, 14 files3. 创建数据目录根据本例 sharding 架构图所示,在各台 sever 上创建 shard 数据文件目录Server1:su monodbcd /home/monodbmkdir -p data/shard11mkdir -

6、p data/shard21Server2:su monodbcd /home/monodbmkdir -p data/shard12mkdir -p data/shard22Server3:su monodbcd /home/monodbmkdir -p data/shard13mkdir -p data/shard23配置配置 relica sets1. 配置 shard1 所用到的 replica sets:Server1:cd /home/mongodb/mongodb-linux-x86_64-1.6.2/bin./mongod shardsvr replSet shard1 por

7、t 27017 dbpath /home/mongodb/data/shard11 oplogSize 100 logpath /home/mongodb/data/shard11.log logappend forkServer2:cd /home/mongodb/mongodb-linux-x86_64-1.6.2/bin./mongod shardsvr replSet shard1 port 27017 dbpath /home/mongodb/data/shard12 oplogSize 100 logpath /home/mongodb/data/shard12.log logap

8、pend forkServer3:cd /home/mongodb/mongodb-linux-x86_64-1.6.2/bin./mongod shardsvr replSet shard1 port 27017 dbpath /home/mongodb/data/shard13 oplogSize 100 logpath /home/mongodb/data/shard13.log logappend fork初始化 replica set用 mongo 连接其中一个 mongod,执行: config = _id: shard1, members: _id: 0, host: 10.1.

9、1.1:27017,_id: 1, host: 10.1.1.2:27017,_id: 2, host: 10.1.1.3:27017 rs.initiate(config);同样方法,配置 shard2 用到的 replica sets:server1:cd /home/mongodb/mongodb-linux-x86_64-1.6.2/bin./mongod shardsvr replSet shard2 port 27018 dbpath /home/mongodb/data/shard21 oplogSize 100 logpath /home/mongodb/data/shard2

10、1.log logappend forkserver2:cd /home/mongodb/mongodb-linux-x86_64-1.6.2/bin./mongod shardsvr replSet shard2 port 27018 dbpath /home/mongodb/data/shard22 oplogSize 100 logpath /home/mongodb/data/shard22.log logappend forkserver3:cd /home/mongodb/mongodb-linux-x86_64-1.6.2/bin./mongod shardsvr replSet

11、 shard2 port 27018 dbpath /home/mongodb/data/shard23 oplogSize 100 logpath /home/mongodb/data/shard23.log logappend fork初始化 replica set用 mongo 连接其中一个 mongod,执行: config = _id: shard2, members: _id: 0, host: 10.1.1.1:27018,_id: 1, host: 10.1.1.2:27018,_id: 2, host: 10.1.1.3:27018 rs.initiate(config);到

12、此就配置好了二个 replica sets,也就是准备好了二个 shards配置三台配置三台 config serverServer1:mkdir -p /home/mongodb/data/config./mongod configsvr dbpath /home/mongodb/data/config port 20000 logpath /home/mongodb/data/config.log logappend fork #config server 也需要 dbpathServer2:mkdir -p /home/mongodb/data/config./mongod config

13、svr dbpath /home/mongodb/data/config port 20000 logpath /home/mongodb/data/config.log logappend forkServer3:mkdir -p /home/mongodb/data/config./mongod configsvr dbpath /home/mongodb/data/config port 20000 logpath /home/mongodb/data/config.log logappend fork配置配置 mongs在 server1,server2,server3 上分别执行:.

14、/mongos configdb 10.1.1.1:20000,10.1.1.2:20000,10.1.1.3:20000 port 30000 chunkSize 5 logpath /home/mongodb/data/mongos.log logappend fork #mongs 不需要 dbpathConfiguring the Shard Cluster连接到其中一个 mongos 进程,并切换到 admin 数据库做以下配置1. 连接到 mongs,并切换到 admin./mongo 10.1.1.1:30000/admindbAdmin2. 加入 shards如 里 shard

15、 是单台服务器,用db.runCommand( addshard : “:” )这样的命令加入,如果 shard 是 replica sets,用 replicaSetName/:port ,serverhostname2:port,这样的格式表示,例如本例执行:db.runCommand( addshard : “shard1/10.1.1.1:27017,10.1.1.2:27017,10.1.1.3:27017,name:”s1,maxsize:20480 );db.runCommand( addshard : “shard2/10.1.1.1:27018,10.1.1.2:27018,

16、10.1.1.3:27018,name:”s2,maxsize:20480 );注意:在添加第二个 shard 时,出现 error:test database 已经存在的错误,这里用 mongo 命令连接到第二个 replica set,用 db.dropDatabase()命令把 test 数据库给删除然后就可加入3. 可选参数Name:用于指定每个 shard 的名字,不指定的话系统将自动分配maxSize:指定各个 shard 可使用的最大磁盘空间,单位 megabytes4. Listing shardsdb.runCommand( listshards : 1 )如果列出了以上二个你加的 shards,表示 shards 已经配置成功

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号