【问题标题】:Mongodb interrupted while reindexingMongodb在重新索引时中断
【发布时间】:2015-01-19 13:55:40
【问题描述】:

我有一个包含大约 3,000,000 个条目的集合,需要重新编制索引。当我尝试添加 2d 索引时,整个事情就开始了。为此,我创建了一个 ssh 隧道,打开 mongo shell 并尝试使用 ensureIndex。我在一个互联网连接有点不可靠的地方,一个小时最终打破了管道。然后我又回到隧道,打开 mongo shell 并尝试使用 getIndexes 查看索引的数量;我创建的新索引出现了,但我不确定它是否已经完成,所以我决定使用 reIndex。回想起来,这是愚蠢的。管道又断了。现在,当我打开 shell 并尝试发出 getIndexes 时,shell 没有响应。

那我该怎么办?我需要修复我的数据库吗?当我有更可靠的互联网连接时,我可以发布 reIndex 吗?有没有办法在不保持外壳打开的情况下发出 reIndex,但不在后台执行它并让它花费 eons? (我会检查 mongod shell 选项,看看是否能找到任何东西,然后检查 node.js mongo api,这样我就可以尝试在服务器上将某些东西作为服务运行)

另外,如果我最终在服务器上将 reIndex 作为服务运行,有什么方法可以检查它是否正常工作?现在最令人沮丧的部分是我不知道我的数据库是否正常,reIndex 是否仍在运行等。任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: mongodb shell indexing database


    【解决方案1】:

    你没有问题。 Mongo 运行命令,并且仅在您明确终止操作 (db.killOp()) 时才停止它们。

    您无需等待索引操作完成!

    【讨论】:

    • 太棒了!刚刚又检查了一遍;一切看起来都不错。
    【解决方案2】:

    关于连接问题,请尝试使用screen 命令。 它使您能够创建“持久”屏幕 - 不是以磁盘持久性的方式,而是以连接丢失的方式。

    【讨论】:

    • 屏幕命令是this,对吧?
    猜你喜欢
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 2016-02-04
    相关资源
    最近更新 更多