首页 > 代码库 > 2016-11-16 MongoDB 配置步骤

2016-11-16 MongoDB 配置步骤

MongoDB作为一款文档数据库,支持分片存储,scale-out,集群自动切换,下面将粗略的配置步骤总结如下:

 

几个重要概念:

数据库:集合——记录——游标(查询时标记序号)

sharding分片:启动shard server; 启动config server;启动route process;配置shard cluster,将指定的集合分片存储;每个shard由多个chunk组成,将多个shard server添加给指定数据库的某个集合用来做分片。提高扩展性,以及负载均衡

replica sets:指定数据保存目录;log目录;主从key文件(每个sets里的所有实例,key file 中的内容必须一致);启动实例(如果用分片,可以不用启动实例);配置初始化replica sets(主要是服务器ip,端口); 分别针对单个shard server设置sets

 

下面以两台物理服务器为基础

1、规划

1)server A

shard1_1:10000

shard2_1:10001

monngod config1:20000

mongs1:30000

2)server B

shard1_2:10000

shard2_2:10001

monngod config1:20000

mongs1:30000

 

2、创建数据目录

1)server A

mkdir -p /data/shard1_1

mkdir -p /data/shard2_1

mkdir -p /data/config

1)server B

mkdir -p /data/shard1_2

mkdir -p /data/shard2_2

mkdir -p /data/config

 

3、配置Replica Sets   (主从)

1)在各个物理服务器上配置shard1,shard2所需要的配置参数,日志文件

2)初始化Replica Sets  

3)配置config server

 

4、配置Router Process (前端路由)

1)/Apps/mongo/bin/mongos --congigdb  

--chunkSize 1  

--logpath /data/mongos.log --logappend --fork

 

5、配置Shard Cluster

连接到其中一台物理机的30000配置端口,并切换到admin数据库做配置

1)addshard  添加shard节点

2)enablesharding “数据库名称”    设置分片存储的数据库

3)shardcollection “数据库名称.集合名称”, key:{_id:1}   设置分片的集合名称,且必须指定shard key, 系统会自动创建索引

 

6、验证sharding正常工作

1)切换到指定数据库

2)添加记录

3)查看分片情况

 

遗留问题:

1)数据文件的目录,最终的存储空间从哪里来?   对接那种存储引擎?  (底层存储提供Lun还是文件共享? )

  答案:

2)chunk,shard,sets之间的关系:   

  答案: 每个chunk默认为200MB大小,可以在启动route process时指定大小;

      每个shard可以由多个chunk组成

      Mongo官方推荐一个shard为一组Replica Sets,这样可以实现每个Shard内部的aoto-failover

3)

 

2016-11-16 MongoDB 配置步骤