2015-05-04 3 views
5

Я недавно обновил свой ubuntu с 14.10 по 15.04. Все функции работают нормально, кроме MongoDB. Я использую mongoDB с рубином на рельсах с использованием монгольского драгоценного камня. MongoDB не контролируется сервисом, как обычно в ubuntu.Служба MongoDB не работает после обновления до Ubuntu 15.04

sudo service mongodb start 

или

sudo service mongod start 

Я получаю сообщение об ошибке

Не удалось перезапустить mongod.service: Unit mongod.service Ошибка загрузки: Нет такого файла или каталога.

Но я должен запустить его вручную каждый раз, когда я должен подключить приложение к серверу MongoDB используя

sudo mongod -f /etc/mongod.conf 

Так mongodb подключен, пока открыт, что терминал. Я использую MongoDB в приложении Ruby on Rails, используя Mongoid adapater/ORM.

Когда я бегу

sudo service mongodb status 

я получаю следующий вывод

mongodb.service - An object/document-oriented database 
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) 
Active: failed (Result: exit-code) since بدھ 2015-05-06 14:47:53 PKT; 5s ago 
Docs: man:mongod(1) 
Process: 28602 ExecStart=/usr/bin/mongod --config /etc/mongodb.conf (code=exited, status=4) 
Main PID: 28602 (code=exited, status=4) 

مٓی 06 14:47:53 NX00443 systemd[1]: Started An object/document-oriented database. 
مٓی 06 14:47:53 NX00443 systemd[1]: Starting An object/document-oriented database... 
مٓی 06 14:47:53 NX00443 systemd[1]: mongodb.service: main process exited, code=exited, status=4/NOPERMISSION 
مٓی 06 14:47:53 NX00443 systemd[1]: Unit mongodb.service entered failed state. 
مٓی 06 14:47:53 NX00443 systemd[1]: mongodb.service failed. 

Любая помощь в этой связи будут оценены.

+0

Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что он не связан с программированием. –

+1

Это связано с проблемой установки сервера mongodb в последней версии ubuntu. MongoDB - сервер базы данных, который может использоваться современными языками программирования. Я использую его с рубинами на рельсах 4. Его установка поможет мне в разработке приложений. –

+0

Как вы установили Mongoid, если через apt вы попытались обновить его, вы пытались отлаживать скрипты init? – Maran

ответ

2

Ни один из вышеуказанного раствора не работает для меня. В ubuntu 15.04 мало изменений на уровне ядра, и они не собираются разрешать эту проблему в текущей версии. Надеюсь, он будет исправлен в следующем стабильном выпуске ubuntu.

7

Оказывается, что Mongo>2.6.3 уже известная проблема с запуском:

поддержки Systemd (не может начать MongoDB с скриптов инициализации с Fedora 15 или выше)

Как уже отмечалось здесь: in this link и кажется, что это возможно не будет полностью исправлена ​​для >2.6.3 до Ubuntu 16.04, если не будет сильного протеста.

Так решение является выпуск:

sudo apt-get install --reinstall mongodb 

Это вернулись к mongo 2.6.3 и теперь все работает! Для тех, которые работают через это ...

3

выше решение работает для меня тоже:

> sudo apt-get install --reinstall mongodb 

Я пробовал несколько методов, которые я нашел на этом сайте и на других сайтах, но только этот один работает меня! Итак, на данный момент, обратно в Mongodb 2.6.3!

Обновление: Исправлена ​​проблема (2015/8/2 14:39): Я только что узнал, что MongoDB 3.0.5 выпущен, поэтому я продувают версии 2.6.3 и попытался установить 3.0.5 на моем Ubuntu 15.04. Но проблема остается! Тем не менее, после того, как я снова включил его в пакет Debian, наконец, команда sudo service mongod start работает (она не работала при установке версии 3.0.4 debian wheezy). Теперь новый MongoDB 3.0.5 отлично работает на моем Ubuntu 15.04!

Для установки Debian хриплый версии, пожалуйста, обратитесь к официальному руководству по установке на MongoDB: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/

+0

Ваше решение сработало для меня в Ubuntu 15.10 с помощью mongoDB 3.0.7 –

2

я увидел /var/log/mongodb/mongodb.log и ему нужно перенести аутентификацию схемы 2.6 в схему 3.0.5, и я только что удалил журнал и все базы данных в /var/lib/mongodb/, затем перезапустил службу и снова работал.

2016-01-17T14:43:08.529+0200 I CONTROL [initandlisten] allocator: tcmalloc 
2016-01-17T14:43:08.529+0200 I CONTROL [initandlisten] options: { command: [ "run" ], config: "/etc/mongodb.conf", net: { bindIp: "127.0.0.1,10.0.0.170", http: { enabled: false }, port: 27017 }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongodb.pid" }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", path: "/var/log/mongodb/mongodb.log", quiet: true } } 
2016-01-17T14:43:08.834+0200 I STORAGE [initandlisten] Old 2.4 style user index identified. The authentication schema needs to be updated by running authSchemaUpgrade on a 2.6 server. 
+0

позвольте мне попробовать –

3

Вы должны изменить конфигурацию путь к БД:

, например, в файле "/etc/mongod.conf" набор "DBPATH:/данные/дб"

Вам нужно чтобы предоставить право пользователю mongodb для доступа к этому пути:

sudo chown -R mongodb /data/db 
Смежные вопросы