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
  • 2761

13、MongoDB的分片,以及分布式的实现(分片,拆分的是集合,不是单条数据)

1、分片(sharding)        分片,是指将数据拆分,将其分散存在不同的机器上的过程。 有时也用分区(partitioning)来表示这个概念。将数据分散到不同的机器上,不需要功能强大的大...
  • zbw18297786698
  • zbw18297786698
  • 2016年04月11日 16:23
  • 1868

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

按 http://blog.csdn.net/fengyily/article/details/7388926 中配置的MongoDB集群,进行数据插入,并查看集合状态时发现两个问题:   1、集...
  • fengyily
  • fengyily
  • 2012年03月29日 19:33
  • 2860

MongoDB常见问题及解决方案

1、大量删除数据问题及解决方案 在线消息定时删除 请求量增加,垃圾数据需要进行删除离线批量删除 msgid contenttimestampflagobjectidfromto...
  • hanyueqi
  • hanyueqi
  • 2017年03月06日 15:49
  • 399

MongoDB实战-操作分片集群,向分片集群中写入数据

ruby操作mongodb实现分片实战操作
  • wanght89
  • wanght89
  • 2017年09月06日 18:22
  • 244

MongoDB分片环境下整体数据迁移解决方案

背景:这周请了几天假,25号早上来了,就开始搞MongoDB数据库分片集群环境的整体迁移,起初以为很容易,但是在迁移的过程中,遇到了各种问题。还好经过两天的研究,现在终于搞定!匆忙之中,整理了一下文档...
  • QQ994406030
  • QQ994406030
  • 2017年05月26日 17:39
  • 1288

从mongodb移除分片

MongoDB的Shard集群来说,添加一个分片很简单,AddShard就可以了。 但是缩减集群(删除分片)这种一般很少用到。由于曙光的某服务器又挂了,所以我们送修之前必须把它上面的数据自动迁移...
  • johnstrive
  • johnstrive
  • 2014年04月29日 09:08
  • 1312

MongoDB sharding迁移(三)

如果不了解 MongoDB Sharded Cluster 原理,请先阅读 MongoDB Sharded cluster架构原理关于MongoDB Sharding,你应该知道的 关于 ...
  • wangkai_123456
  • wangkai_123456
  • 2016年11月26日 17:15
  • 387

MongoDB集群——分片

1、 分片的结构及原理分片集群结构分布: 分片集群主要由三种组件组成:mongos,config server,shard1) MONGOS数据库集群请求的入口,所有的请求都通过mongos进行协调,...
  • leftfist
  • leftfist
  • 2014年10月03日 22:04
  • 3430

mongodb副本集+分片集群部署 step by step

mongodb副本集+分片集群部署step by step本文只讲述mongodb副本集+分片集群的部署,关于mongdb shading & replica set原理优点等不在本文讨论范围内。...
  • zeweig
  • zeweig
  • 2016年12月29日 17:00
  • 1996
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB集群,解决数据不分片问题
举报原因:
原因补充:

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