Meteor 0.9.0 ломает мою базу данных Mongo?

Недавно я обновил 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.

Я запускаю это как root в Debian, так что это не должно быть ошибкой прав доступа... Но я новичок в Linux, так что, возможно, дело в этом....

Я бегу:

meteor reset

и он запустит мою программу, но как только я запущу

meteor mongo

для доступа к моей базе данных, но тогда я получаю это:

=> Exited from signal : SIGKILL
Killed

И это ломает мой проект, и я снова получаю неожиданный код выхода 100 из монго.

Этого не было до Meteor 0.9.0. Это ошибка или ошибка разрешения Linux?

Спасибо!


person Ian Wise    schedule 29.08.2014    source источник
comment
Вы проверили права доступа к .meteor/local? Ваша среда Debian работает внутри виртуальной машины (например, VirtualBox или VMware)?   -  person Stennie    schedule 29.08.2014
comment
Вы запускали метеор с sudo раньше и не используете его сейчас? Измените разрешения для этой папки, чтобы вам не приходилось использовать sudo.   -  person Andrew Mao    schedule 29.08.2014
comment
Я в корне, поэтому мне не нужно выполнять команды sudo, и да, это в виртуальной машине (Oracle VirtualBox)   -  person Ian Wise    schedule 30.08.2014


Ответы (4)


У меня была эта проблема в Codio.io. Возможно, вашей виртуальной машине не хватает места на диске. Бесплатные виртуальные машины имеют ограниченное пространство, cod.io дает вам 1 ГБ. Meteor увеличился в размерах с обновлением 0.9.0 и 0.9.1 (я думаю, это ~ 300 МБ), что в сочетании с mongoDB, требующим 450 МБ, не оставляет много места. чтобы увидеть, сколько места занимает ваш проект:

du -h

в нем будет указан размер вашего проекта и добавлено 450 МБ для monogdb, и вы увидите, больше ли это места, выделенного для вашей виртуальной машины.

конкретно для 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:[email protected]:xxxxx/xxxx meteor
person lucidpaper    schedule 30.08.2014
comment
Но моя виртуальная машина не свободна, она находится на моем собственном компьютере, так что остается ли проблема с местом? - person Ian Wise; 31.08.2014

У меня те же проблемы при попытке запустить метеорное приложение, и именно сервер mongodb неожиданно прекращает работу. Как правило, виртуальный Linux, подобный тому, который вы упомянули, поставляется без раздела swap (проверьте файл /etc/fstab), поэтому, если у вас недостаточно памяти для выделения сервера MongoDB, тогда приложение метеора не может быть запущено. Вы можете создать раздел подкачки или увеличить память, доступную для вашей виртуальной машины. Также вы можете эмулировать раздел подкачки через swapspace

sudo apt-get install swapspace

После этого я могу запустить приложение метеора... Просто будьте терпеливы, так как память подкачки не такая быстрая, как оперативная память.

person mario ruiz    schedule 28.05.2015

Вам необходимо удалить файл mongodb.lock, найденный в папке .meteor/local/db.

person Shiraj    schedule 29.08.2014
comment
просто удалить? Это вообще изменит мой код или Mongo.db? - person Ian Wise; 30.08.2014
comment
Удалил его, и у меня все еще возникает та же проблема... Почему я продолжаю получать SIGKILL? - person Ian Wise; 30.08.2014

Вы используете Метеорит? Возможно проблема в каком-то пакете.

При обновлении до 0.9.0 , если вы использовали Meteorite, вам будет предложено обновить проект с помощью mrt migrate-app. А атмосфераjs.com был обновлен, чтобы указать на официальный сервер пакетов — проверьте это!

person skozz    schedule 01.09.2014