【问题标题】:Meteor 0.9.0 Breaks My Mongo Database?Meteor 0.9.0 破坏了我的 Mongo 数据库?
【发布时间】:2014-10-23 01:12:53
【问题描述】:

我最近更新了 Meteor,但遇到了一些烦人的错误,这使得我的项目难以工作。例如,当我运行

meteor

它给了我这个:

=> Started proxy.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start Mongo server.
MongoDB had an unspecified uncaught exception.
 This can be caused by MongoDB being unable to write to a local database.
Check that you have permissions to write to .meteor/local. MongoDB does
not support filesystems like NFS that do not allow file locking.

我在 debian 上以 root 身份运行它,所以它不应该是权限错误...但我是 Linux 新手,所以也许就是这样...。

我跑:

meteor reset

它会运行我的程序,但只要我运行

meteor mongo

访问我的数据库,但后来我得到了这个:

=> Exited from signal : SIGKILL
Killed

它破坏了我的项目,我又得到了意外的 mongo 退出代码 100。

直到 Meteor 0.9.0 才发生这种情况,这是一个错误,还是 Linux 权限错误?

谢谢!

【问题讨论】:

  • 你检查过 '.meteor/local` 的权限了吗?您的 Debian 环境是否在 VM 中运行(例如 VirtualBox 或 VMware)?
  • 您之前是否使用sudo 启动meteor 而现在不使用它?更改该文件夹的权限,以便您不必使用 sudo。
  • 我是 root,所以我不需要 sudo 我的命令,是的,它在 VM (Oracle VirtualBox) 中

标签: mongodb meteor


【解决方案1】:

您需要删除 .meteor/local/db 文件夹中的 mongodb.lock 文件

【讨论】:

  • 我要删除它吗?它会改变我的代码或 Mongo.db 吗?
  • 删除了它,我仍然遇到同样的问题...为什么我一直收到 SIGKILL ?
【解决方案2】:

我在 Codio.io 中遇到了这个问题。 您的 VM 可能磁盘空间不足。 免费 VM 的空间有限,cod.io 为您提供 1gb。 Meteor 随着 0.9.0 和 0.9.1 的更新(我认为它是 ~300mb)的大小有所增长,再加上需要 450mb 的 mongoDB 并没有留下太多空间。 查看您的项目占用了多少空间:

du -h

这将列出您的项目大小并为 monogdb 添加 450mb 并查看它是否超过分配给您的 VM 的空间。

您可以运行特定于 cod.io:

df -h | grep xvdc | head -1 | awk '{print "free: " $4 " of " $2 ". Used: " $3}'

看看你还剩多少空间

为了解决我的问题,我将 mongoDB 移至 mongoHQ(compose.io) 并设置了一个 AWS 沙盒数据库(免费!!!!!!)

然后当你启动流星时你指向它:

MONGO_URL=mongodb://user:pass@xxxx.mongohq.com:xxxxx/xxxx meteor

【讨论】:

  • 但是我的虚拟机不是免费的,它在我自己的电脑上,所以空间仍然是问题吗?
【解决方案3】:

你在用陨石吗?也许问题出在某些包上。

当您update to 0.9.0时,如果您一直在使用 Meteorite,您将 提示您使用 mrt migrate-app 升级您的项目。和 大气js.com已更新指向官方包 服务器——检查一下!

【讨论】:

    【解决方案4】:

    我在尝试启动流星应用程序时遇到了同样的问题,而 mongodb 服务器正以意外方式终止。一般来说,像你提到的那样的虚拟 linux 没有 swap 分区(检查 /etc/fstab 文件)所以如果你没有足够的内存来分配 MongoDB 服务器然后流星应用程序无法启动。您可以创建swap partition 或升级可用于虚拟机的内存。你也可以通过swapspace模拟交换分区

    sudo apt-get install swapspace
    

    之后我就可以启动流星应用了...请耐心等待,因为交换内存不如 RAM 快。

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 2016-06-05
      • 1970-01-01
      • 1970-01-01
      • 2019-11-22
      • 2011-08-01
      • 1970-01-01
      • 2014-11-07
      • 2012-06-27
      相关资源
      最近更新 更多