Mongodb 集群搭建以及常见错误(不分块,分片,以及加验证)

1 关于Replica Sets +Sharding(主从复制加分片)搭建,不这详细去说,网上有很多,大部分的例子就三台服务器之间做主从复制,分2个shard,架构图如下

Mongodb 集群搭建以及常见错误(不分块,分片,以及加验证)

mongodb节点

分别为 ServerA 27017 ServerB 27017 Server C27017 第一组(shard)

配置的参数mongod --shardsvr --replSet shard1 --port 27017 --dbpath 存储路径 --logpath 存储路径 --logappend

分别为 ServerA 27018 ServerB 27018 Server C27018 第二组(shard)

配置的参数mongod --shardsvr --replSet shard1 --port 27018 --dbpath 存储路径 --logpath 存储路径 --logappend

Config配置

mongod --configsvr --dbpath 存储路径 --port 20000 --logpath 存储路径 --logappend

Route配置(指定三个configdb的地址以及端口,chunksize为块的大小)

mongos --configdb 192.168.208.102:20000,192.168.208.103:20000,192.168.208.107:20000 --port 30000 --chunkSize 10 --logpath 存储路径 --logappend

到此,配置基本技术

2 在此重点说一下,第一问题 ,所有的配置都没有问题,但是插入的数据始终没有分片,永远是一个分片上(住分片上),第二 插入很慢,每秒大概几百条

这两个问题,一般情况基本是一个原因,就是三台服务器之间的时间不一样,请检查一下,具体应该是因为MongoDB的分片是服务器时间有关的,时间同步之后,再插入应该可以,同时速度会很快

3 关于验证 默认是没有验证的, 需要先用没有认证的进去,在admin 创建了需要的帐号密码后,然后关闭所有的mongodb进程

然后 创建一个keyfile文件,随便在里边写任何文本,只需要保证之后,你用的是同一个文件,

在所有的启动项后加上--keyFile keyfile文件路径(所有的节点,config,route)都加

然后在启动,应该就可以了

有任何问题,请留言!

上一篇:Android 数据存储03之SQLite


下一篇:Caché数据库学习笔记(4)