MongoDB 2.6 не запускается на Ubuntu 15.04

Я установил MongoDB 2.6 на чистой установленной Ubuntu 15.04:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Это закончилось без любых проблем. Однако, когда я пытался запустить его, я получил следующую ошибку:

$ sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Как я могу зафиксировать это?

51
задан 1 May 2015 в 15:10

13 ответов

Я установил от репозиторий хрипа debian , и он хорошо работает.

Первый удостоверяются, что Вы удаляете mongodb-org пакет и все его зависимости:

sudo apt-get purge mongodb-org
sudo apt-get autoremove

Удаляют старый mongodb.list, который Вы создали:

sudo rm /etc/apt/sources.list.d/mongodb.list

Использование репозиторий Debian вместо этого:

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

Обновление и установка снова:

sudo apt-get update
sudo apt-get install -y mongodb-org

После этого, Вы можете succesffully запускать сервер:

sudo service mongod start

или

systemctl start mongod

(как разъяснено Ernie Hershey в ответ на комментарий Roman Gaufman здесь: https://jira.mongodb.org/browse/SERVER-17742)

65
ответ дан 22 November 2019 в 23:51

Команда MongoDB заявляет, что они не будут поддерживать Ubuntu 15.04 и планировать поддерживать 16.04 вместо этого (см. https://jira.mongodb.org/browse/SERVER-17742).

Ubuntu 15.04 совершенствует значение по умолчанию init система от Выскочки к systemd. Я не имел никакого успеха стартовый MongoDB 3.0 с systemd.

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

sudo apt-get install upstart-sysv

Тогда перезагрузка и MongoDB должны произойти.

я надеюсь найти простой способ выполнить MongoDB на Ubuntu 15.04, не переключая вещи назад вовремя.

25
ответ дан 22 November 2019 в 23:51

Вы устанавливаете от пакетов, опубликованных непосредственно с mongodb.org. Необходимо устанавливать от пакетов, предоставленных в Ubuntu respository. Пакеты Debian/Ubuntu были исправлены с systemd сервисными единицами, для заполнения дыры, покинутой mongodb.org.

(нет никакого дефицита mongodb.service файлы единицы на WWW. Не трудно записать один, также. Я имею.)

Конкретно: Вы найдете такая сервисная единица в пакет mongodb-серверной-версии 2.6 для версии 15 Ubuntu. Поэтому просто установите тот пакет.

(Отмечают, что сервисные единицы Debian/Ubuntu-supplied не применяются рекомендуемые монго systemd сервисные директивы единицы .)

Дополнительные материалы для чтения

4
ответ дан 22 November 2019 в 23:51

Я создал сценарий Systemd, который, кажется, работает на Ubuntu 15.04 + и 3,0 монго +:

[Unit]
Description=High-performance, schema-free document-oriented database
Documentation=man:mongod(1)
After=network.target

[Service]
Type=forking
User=mongodb
Group=mongodb
RuntimeDirectory=mongod
PIDFile=/var/run/mongod/mongod.pid
ExecStart=/usr/bin/mongod -f /etc/mongod.conf --pidfilepath /var/run/mongod/mongod.pid --fork
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

https://gist.github.com/benileo/ada486d73f58dd93a0ee

Удостоверяется, что Вы устанавливаете свой каталог данных в /etc/mongod.conf

4
ответ дан 22 November 2019 в 23:51

Разве это не лучший ответ? От дублирующегося вопроса: https://askubuntu.com/a/694226/255468 к <часу> @sclausen

Это - просто отсутствие сервисного файла для systemd. Никакая потребность вернуться к выскочке как Kartik не сделала или использует другой репозиторий, чем описанный в https://docs.mongodb.org/manual/installation / .

Создают файл/lib/systemd/system/mongodb.service со следующим содержанием:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf

[Install]
WantedBy=multi-user.target
1
ответ дан 22 November 2019 в 23:51

https://jira.mongodb.org/browse/SERVER-17742

кажется, что это возможно не будет полностью зафиксировано для> 2.6.3 до Ubuntu 16.04, если не будет сильный протест.

, Таким образом, решение для меня состояло в том, чтобы выйти:

sudo apt-get install --reinstall mongodb
1
ответ дан 22 November 2019 в 23:51

Многие из этих ответов связаны с 3,0 монго, тогда как вопрос, который задают конкретно приблизительно 2,6.

я имел успех, устанавливающий 2,6 использования репозитория Debian от 10gen. Это, кажется, работает отлично с Ubuntu 15.04.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-org

Источник: , Как Установить MongoDB 2.6 на Ubuntu 14.10, 14,04 и 12,04 LTS

0
ответ дан 22 November 2019 в 23:51

Во-первых, загрузите mongodb:

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

загрузка извлечения:

tar -zxvf mongodb-linux-x86_64-3.0.6.tgz

выполняет mongod (mongodb-linux-x86_64-3.0.6.tgz/bin/mongod) с атрибутом-dbpath:

sudo ./mongod --dbpath /path/of/the/directory

Это может быть пустым каталогом любой по Вашему выбору

и наконец, работать, монго (mongodb-linux-x86_64-3.0.6.tgz/bin/mongo)

./mongo

работало над моей человечностью 15 :)

извините для моего плохого английского языка, я живу в Бразилии

0
ответ дан 22 November 2019 в 23:51

После закрытия от поиска, решение состояло в том, чтобы обновить мою человечность от 15,04 до 16,04 использований этой команды:

Шаг 1

sudo do-release-upgrade -d 

потребуется несколько минут, так не паникуйте, чем необходимо удалить mongodb:

Шаг 2

sudo apt-get purge mongodb-org 
sudo apt-get autoremove`  
rm /etc/apt/sources.list.d/mongodb-org-3.0.list`  

И теперь, установите mongodb, но использующий этот источник:

echo 'deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main' | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

Шаг 3

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10  
echo ‘deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main’ | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install mongodb-org
sudo service mongod status

И вот именно.

Примечание: , Если Вы получаете ошибку как 'E: тип 'deb' в первой строке... в файле mongodb-org-3.0.list

все, что необходимо сделать, должно войти в этот файл с помощью gedit и удалить †˜ в начинании и в конце предложения.

0
ответ дан 22 November 2019 в 23:51

Ubuntu 15.04 + использование systemd вместо выскочки . Запустите с официальное руководство по установке MongoDB . Затем используйте их чиновника mongod.service :

[Unit]
Description=High-performance, schema-free document-oriented database

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/local/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid

[Install]
WantedBy=multi-user.target

Загрузка, патч, сервис установки и dir+permissions

$ curl -OL https://raw.githubusercontent.com/mongodb/mongo/1663f45b4e33e058a0203a81f50574a870882c34/rpm/mongod.service
$ sed -i 's/\/usr\/local/\/usr/g' mongod.service
$ sed -i '/Desc/a After=network.target' mongod.service
$ sudo sed -i '0,/\/var\/lib\/mongodb/s//\/data\/db/' /etc/mongod.conf
$ sudo cp mongod.service /lib/systemd/system/mongo.service
$ sudo mkdir -p /data/db
$ sudo chown -R mongodb:mongodb /data
$ sudo systemctl daemon-reload
$ sudo systemctl enable mongod

установки Запускают сервис

$ sudo systemctl start mongod

сервисное состояние Проверки

$ sudo systemctl status mongod
0
ответ дан 22 November 2019 в 23:51

Вы сделали опечатку в своей команде.

Попытка с помощью этого вместо этого: sudo service mongodb start

0
ответ дан 22 November 2019 в 23:51

В то время как вопрос для версии 2.6. Я получал ту же самую ошибку Unit mongod.service failed to load в моей Ubuntu 15.04 для версии 3.0.6. В конечном счете разрешенное использование того же хрипящего репозитория, упомянутого Продажами Dielson выше.

И после того, как установка (выполняющий шаги, детализированные @Dielson Продажами), стояла перед вышеупомянутой ошибкой. Вот то, как я наконец решил.

A) Измените файлы хранилища данных MongoDB по умолчанию от/var/lib/mongodb до/data/db

  • Сначала создайте новый/data/db каталог sudo mkdir -p /data/db

  • Откройте mongod.conf файл sudo gedit /etc/mongod.conf и измените “dbpath” строку как ниже

  • Замените dbpath =/var/lib/mongodb К dbpath =/data/db и сохраните файл.

  • Затем удалите старое значение по умолчанию/var/lib/mongodb

  • Теперь мы должны сделать все каталоги/файлы принадлежавшими mongod пользователю

B) Таким образом выполненный sudo chown -R mongodb:mongodb /data/db

И теперь наконец я могу запустить монго с sudo service mongod start

И chcek, с которым работает услуга sudo systemctl status mongod - Это должно показать сообщение, подобное ниже

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

Детализировали мои шаги в моем сообщении в блоге

0
ответ дан 22 November 2019 в 23:51

используйте "mongodb" вместо "mongod"

т.е.

sudo service mongodb start

sudo service mongodb stop
1
ответ дан 22 November 2019 в 23:51

Другие вопросы по тегам:

Похожие вопросы: