MongoDB集群,解决数据不分片问题

原创 2012年03月29日 19:33:58

 

http://blog.csdn.net/fengyily/article/details/7388926 中配置的MongoDB集群,进行数据插入,并查看集合状态时发现两个问题:

 

1、集合中的数据不会分片。

    配置了shard1/shard2/shard3三个分片,但数据只会集中在集合所在的分片上。

 

2、数据插入效率低下。

    采用for循环批量插入20万数据时,发现每秒只能插入100,200条,无法忍受的性能。

 

 

经过分析mongos的日志mongos.log,发现其中一台存在以下日志信息:

Thu Mar 29 01:05:18 [initandlisten] connection accepted from 192.168.1.190:52865 #345
Thu Mar 29 01:05:18 [conn345] authenticate: { authenticate: 1, nonce: "c56c219dd93277e1", user: "__system", key: "f85f00f59c9979af52c8e2f3a854ac9e" }
Thu Mar 29 01:05:46 [conn344] end connection 192.168.1.191:38281
Thu Mar 29 01:05:46 [initandlisten] connection accepted from 192.168.1.191:38289 #346
Thu Mar 29 01:05:46 [conn346] authenticate: { authenticate: 1, nonce: "2c2e6e5a47d9465c", user: "__system", key: "ef913dd4bd6748603842ba313c2437fe" }
Thu Mar 29 01:05:48 [conn345] end connection 192.168.1.190:52865
Thu Mar 29 01:05:48 [initandlisten] connection accepted from 192.168.1.190:52874 #347
Thu Mar 29 01:05:48 [conn347] authenticate: { authenticate: 1, nonce: "a6a21ef57b4e8123", user: "__system", key: "8057fff6fb913bfda00aece41ad44b71" }

 

其中还有一台的mongos.log提示时间不一致。

通过将三台mongodb服务器的时间同步后,再进行测试一切恢复正常。以上两个问题都得到有效的解决。

 

这也许是mongodb存在的一个小BUG,当各分片服务器时间不一致时,会导致数据分片与插入效率。这也说明,MongoDB数据库数据分片机制与服务器时间相关。具体得进一步分析源码。

相关文章推荐

MongoDB 分片问题汇总

分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介 分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分...
  • joeyon
  • joeyon
  • 2015年05月28日 15:01
  • 2449

mongodb 在线添加新的分片复制集 后续

前面添加新的分片复制集因为版本不一致无法兼容,见:http://blog.csdn.net/mchdba/article/details/51867303,现在统一版本,继续在线上添加新的分片复制集。...
  • mchdba
  • mchdba
  • 2016年07月09日 20:12
  • 4151

MongoDB 分片问题汇总

转自:文章链接 分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介 分片是指将数据拆分,将其分散存在不同机器上的过程....

MongoDB 分片问题汇总

分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介 分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分...
  • joeyon
  • joeyon
  • 2015年05月28日 15:01
  • 2449

spring-data-mongodb 配置和使用多个 mongoTemplate

简单几步,在项目中配置多个MongoTemplate.

mongodb分片集群数据迁移(方案三)

方案三:先建立分片集群,再配置分片集群,最后同步数据。 导出数据;建立分片集群;配置config server;配置config server;配置分片集群;导入数据。 1. 导出数据 /usr/l...

mongodb分片集群数据迁移(方案二)

方案二:先建立分片集群,再同步数据,最后配置分片集群。 导出数据;建立分片集群;配置config server;配置mongos server;导入数据;配置分片集群。 1. 导出数据 /usr/lo...

Mongodb_集群分片部署

  • 2014年09月24日 14:52
  • 69KB
  • 下载

搭建高可用mongodb集群(四)—— 分片

按照上一节中《搭建高可用mongodb集群(三)—— 深入副本集》搭建后还有两个问题没有解决: 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大?数据压力大到机器支撑不了的时候能否...

MongoDB的分片集群配置

1、分片 概念:在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求。 当MongoDB存储海量的数据时,一台机器可能不足以存储数据也足以提供可接受的读写吞吐...
  • he90227
  • he90227
  • 2015年04月29日 17:59
  • 930
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB集群,解决数据不分片问题
举报原因:
原因补充:

(最多只允许输入30个字)