как мне запустить mongodb через /etc/init.d/mongodb с файлом конфигурации? - PullRequest
3 голосов
/ 25 февраля 2012

У меня есть файл конфигурации для Монго, который указывает альтернативный порт:

deploy@ip-xxx-xxx-22-107 ~/app $ tail /etc/mongodb.conf
port = 27033

Не очень сложно. Я пытаюсь использовать файл на основе конфигурации вместо командной строки, кажется, лучшая идея. Я на Ubuntu 11. Документы говорят:

В некоторых пакетных установках MongoDB (например, Ubuntu & Debian), файл по умолчанию можно найти в /etc/mongodb.conf, который автоматически используется при запуске и остановке MongoDB из сервиса

Я определенно могу запустить Монго с sudo /etc/init.d/mongodb restart, но он запускается не с того порта, 27017:

deploy@ip-xxx-xxx-22-107 ~/app $ sudo lsof -iTCP | grep mongo
mongod     3594   mongodb    5u  IPv4 260392       TCP localhost:27017 (LISTEN)
mongod     3594   mongodb    7u  IPv4 260395       TCP localhost:28017 (LISTEN)

Так что есть монго, но не правильный порт. Всякий раз, когда я пытаюсь передать файл конфигурации команде mongodb, я получаю сообщение об ошибке:

 sudo /etc/init.d/mongodb -f /etc/mongodb.conf restart
 * ERROR: wrong args ( -f )

Я подозреваю, что команда /etc/init.d/mongodb не передает мой запрос конфигурации при запуске mongo. Но файл конфигурации должен быть прочитан по умолчанию в соответствии с документами. Что-то не так с моей установкой Ubuntu (это на хосте PaaS)? Нет ли преимущества в использовании /etc/init.d/mongodb, поэтому я должен просто игнорировать это? Я могу заставить его читать файл конфигурации через mongod -f /etc/mongodb.conf, но мои документы говорят, что нужно использовать /etc/init.d/mongodb.

1 Ответ

0 голосов
/ 25 февраля 2012

Откуда вы установили пакет mongo?Если вы установили из репозиториев по умолчанию, то у вас может быть очень старая версия - я только что попробовал 11.04 (не пригодился 11.10, извините), и я получил 1.6.4, который очень старый (текущий стабильный выпуск на момент написания этой2.0.2).

Вы должны удалить имеющуюся версию и добавить ее из репозиториев 10gen / MongoDB.Инструкции для этого приведены здесь:

http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

Это даст вам последнюю версию Mongod и, вероятно, решит ваши проблемы, потому что вы, кажется, делаете все правильно.

Как только вы запустили mongod, подключитесь к нему и попробуйте запустить это:

use admin
db.runCommand({getCmdLineOpts: 1})

Это должно дать вам все пропущенные и проанализированные параметры.На странице Документы показан пример вывода команды .Он должен позволить вам увидеть, куда указывает mongod для файла конфигурации и что анализируется из него.

...