Як встановити MongoDB 3.0 в Vivid?


8

Офіційний яскравий пакет для mongodb - 2.x, а пакунки, які MongoDB надає на http://repo.mongodb.org/apt/ubuntu/dists/trusty/ , доступні лише для випусків LTS.

Альтернативою є те, що я міг би повернутися до 14.04 LTS, але мені потрібно встановити openjdk-8-jdk, який доступний лише для яскравих.


1
Я думаю, нічого поганого не станеться, якщо встановити його від надійного репо до яскравого.
Пілот6

Відповіді:


13

Можливо, MongoDB не запускається, якщо ви використовуєте пакети Trusty:

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

У цьому випадку встановіть пакети Debian Wheezy, як описано в кінці.

Встановіть довірчі пакети DEB

Завантажте файли DEB

cd
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-mongos_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-server_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-shell_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-tools_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.3_amd64.deb

І встановити за допомогою (у цьому порядку)

sudo dpkg -i mongodb-org-server_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-tools_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-shell_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-mongos_3.0.3_amd64.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb

І взяте з коментарів, дякую @ Pilot6 :

Вони можуть мати залежності один до одного. Ось чому інсталяційні пакети один за одним можуть створювати помилки. я пропонуюsudo dpkg -i mongodb*.deb


Використовуйте надійний PPA

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Використовуйте пакети Debian Wheezy

Можливо, MongoDB не запускається, якщо ви використовуєте пакети Trusty:

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

У цьому випадку встановіть пакети Debian Wheezy, як описано нижче

sudo apt-get remove mongodb-org
sudo apt-get autoremove
sudo rm /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo 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

Вони можуть мати залежності один до одного. Ось чому інсталяційні пакети один за одним можуть створювати помилки. Пропонуюsudo dpkg -i mongodb*.deb
Пілот6

@ Pilot6 Тому sudo dpkg -i mongodb-org_3.0.3_amd64.debяк остання команда
AB

Просто пропозиція. І простіше, як одна команда. Якщо ви встановите кілька пакетів в одній команді, залежності вирішуються.
Пілот6

@ Pilot6 додано та пов’язано =)
AB

Гаразд, я використав пакети Trusty deb і він спрацював. Як мені потім запустити його як послугу, щоб я міг його запустити та припинити користуватися service mongod start?
Х'ю Роулінсон

4

Успішно встановлено з версією mongo 3.0.6 в моєму Ubuntu 15.04 з використанням сховища debian wheezy - див. Кроки нижче

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 -y mongodb-org

Однак після всіх вищезазначених кроків та встановлення mongodb у моїй машині, тепер, коли я намагався запустити службу mongodb, sudo service mongod startвона не вдасться. Викидання наступного повідомлення про помилку

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

Отже, ось як я вирішив і запустив mongodb нормально

  • Змініть файли зберігання даних за замовчуванням MongoDB з / var / lib / mongodb на / data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf і змінити рядок "dbpath", як показано нижче

  • Замініть dbpath = / var / lib / mongodb TO dbpath = / data / db, а потім збережіть файл.

  • Потім видаліть старий за замовчуванням / var / lib / mongodb

  • Тепер ми повинні зробити всі каталоги / файли, що належать користувачеві mongod

  • Біжи 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

Детально описав мої кроки у своєму дописі на блозі .


1

Як я вже говорив раніше: пакети Debian / Ubuntu були виправлені з системними сервісними блоками, щоб заповнити отвір, залишений матеріалами, опублікованими безпосередньо з mongodb.org. Але не бракує mongodb.serviceфайлів одиниць на WWW. Це теж важко написати. (Я маю.)

В зокрема: Ви знайдете такі пристрої а служби в с MongoDB-сервер версії 2.6 пакета для Ubuntu версії 15 . Дійсно , є також сервісний блок, опублікований mongodb.org . Це просто той випадок, що люди mongodb.org помилково пов'язували використання RPM із використанням systemd у специфічних для дистрибуції речах.

Зауважте, що, за іронією долі, сервісні підрозділи, що постачаються mongodb.org, не застосовують директиви системного сервісного блоку, які рекомендує сам mongodb.org . Також не надаються Debian / Ubuntu. Але, знову ж таки: рукописний сервісний блок із цими директивами не важко написати; або дійсно змінити, щоб додати речі, такі як numactl. ☺

Подальше читання


0

Ну жоден з АБ відповіді не працював. Тож єдиним моїм варіантом було встановлення з тарболу

Дотримуйтесь інструкцій щодо документів, пов’язаних із цією темою.


0

Як коротке доповнення до відмінної відповіді @ AB. На яскравому amd64, з попередньою установкою mongod 2.6 .26, просто замініть існуючий sources.list.dфайл на

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse

з подальшим дистрибутивним оновленням працював автоматично.

sudo apt-get update
sudo apt-get dist-upgrade
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.