增加MongoDB命名空间限制

时间:2014-08-28 12:34:56

标签: mongodb namespaces

我有一个运行3个实例的MongoDB副本集,最近我在日志文件中遇到以下错误:

error: hashtable namespace index max chain reached:1335
warning: hashtable namespace index long chain
ERROR: writer worker caught exception: too many namespaces/collections on: ...

这看起来像默认的.ns(命名空间文件)大小限制在这里不够,所以我包括:

nssize = 32

到每个副本集成员的配置。

这应该使命名空间文件现在为32MB而不是默认的16MB(参见http://docs.mongodb.org/manual/reference/configuration-options/#storage.nsSize)。

问题:

  1. 如何重建现有的命名空间文件以考虑新的限制?重新启动mongod服务器似乎无法正常工作。
  2. 除了更改此限制以除去此类错误之外,还有什么我应该做的吗?

1 个答案:

答案 0 :(得分:1)

  

如何重建现有的命名空间文件以考虑新的限制?重新启动mongod服务器似乎没有用。

您需要重新创建数据库才能使其生效,直到:https://jira.mongodb.org/browse/SERVER-385出现。

  

除了更改此限制以除去此类错误之外,还有什么我应该做的吗?

不是真的,除了让它超过32MB?

这里提到的是10gen谈论错误:https://groups.google.com/forum/#!topic/mongodb-user/YrPqM85N4Mk以及做什么,它们基本上得出了与你相同的结论:观察集合的数量。