Làm cách nào để cài đặt MongoDB 3.0 trong Vivid?


8

Gói sinh động chính thức cho mongodb là 2.x và các gói mà MongoDB tự cung cấp trên http://repo.mongodb.org/apt/ubfox/dists/trusty/ chỉ có sẵn cho các bản phát hành LTS.

Một cách khác là tôi có thể chuyển về 14.04 LTS, nhưng tôi sẽ cần cài đặt openjdk-8-jdk, chỉ có sẵn cho sinh động.


1
Tôi nghĩ sẽ không có gì xấu xảy ra nếu bạn cài đặt nó từ repo đáng tin cậy đến sinh động.
Pilot6

Câu trả lời:


13

Có thể, MongoDB không khởi động nếu bạn sử dụng các gói Trusty:

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

Trong trường hợp này, hãy cài đặt các gói Wheezy Debian như được mô tả ở cuối.

Cài đặt gói Trusty DEB

Tải xuống các tệp 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

Và cài đặt với (theo thứ tự này)

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

Và lấy từ các ý kiến, cảm ơn bạn @ Pilot6 :

Họ có thể có sự phụ thuộc lẫn nhau. Đó là lý do tại sao các gói cài đặt từng cái một có thể bị lỗi. Tôi đề nghịsudo dpkg -i mongodb*.deb


Sử dụng PPA Trusty

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

Sử dụng các gói Debian Wheezy

Có thể, MongoDB không khởi động nếu bạn sử dụng các gói Trusty:

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

Trong trường hợp này, hãy cài đặt các gói Wheezy Debian như được mô tả bên dưới

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

Họ có thể có sự phụ thuộc lẫn nhau. Đó là lý do tại sao các gói cài đặt từng cái một có thể bị lỗi. Tôi đề nghịsudo dpkg -i mongodb*.deb
Pilot6

@ Pilot6 Do đó sudo dpkg -i mongodb-org_3.0.3_amd64.deblà lệnh cuối cùng
AB

Chỉ là một gợi ý. Và nó dễ dàng hơn như một lệnh. Nếu bạn cài đặt nhiều gói trong một lệnh, các phụ thuộc sẽ được giải quyết.
Pilot6

@ Pilot6 đã thêm và liên kết =)
AB

Ok, tôi đã sử dụng các gói gỡ lỗi Trusty và nó đã hoạt động. Làm thế nào để tôi có được nó chạy như một dịch vụ để tôi có thể bắt đầu và dừng sử dụng nó service mongod start?
Hugh Rawlinson

4

Được cài đặt thành công với phiên bản mongo 3.0.6 trong Ubuntu 15.04 của tôi bằng cách sử dụng kho lưu trữ khò khè debian - xem các bước bên dưới

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

Tuy nhiên, sau tất cả các bước trên và mongodb được cài đặt trong máy của tôi, bây giờ khi tôi cố gắng bắt đầu dịch vụ mongodb với sudo service mongod startnó sẽ thất bại. Ném thông báo lỗi sau

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

Vì vậy, đây là cách tôi giải quyết và khởi động mongodb bình thường

  • Thay đổi tệp lưu trữ dữ liệu mặc định của MongoDB từ / var / lib / mongodb thành / data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf và thay đổi dòng dbpath của Wap như bên dưới

  • Thay thế dbpath = / var / lib / mongodb TO dbpath = / data / db và sau đó lưu tệp.

  • Sau đó xóa mặc định cũ / var / lib / mongodb

  • Bây giờ chúng ta phải tạo tất cả các thư mục / tệp thuộc sở hữu của người dùng mongod

  • Chạy sudo chown -R mongodb:mongodb /data/db

Và bây giờ cuối cùng tôi cũng có thể bắt đầu mongo với sudo service mongod start

Và chcek rằng dịch vụ đang chạy với sudo systemctl status mongod - Nó sẽ hiển thị một thông báo tương tự như bên dưới

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

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

Có chi tiết các bước của tôi trong bài viết trên blog của tôi .


1

Như tôi đã nói trước đây: Các gói Debian / Ubuntu đã được vá bằng các đơn vị dịch vụ systemd, để lấp đầy lỗ hổng còn lại bởi những thứ được xuất bản trực tiếp từ mongodb.org. Nhưng không thiếu các mongodb.servicetập tin đơn vị trên WWW. Nó cũng không khó để viết một. (Tôi có.)

Cụ thể: Bạn sẽ tìm thấy một đơn vị dịch vụ như vậy trong gói mongodb-server phiên bản 2.6 cho Ubuntu phiên bản 15 . Thực tế cũng có một đơn vị dịch vụ được xuất bản bởi mongodb.org . Nó chỉ đơn giản là trường hợp người mongodb.org đã nhầm lẫn việc sử dụng RPM với việc sử dụng systemd trong các công cụ dành riêng cho phân phối.

Lưu ý rằng, trớ trêu thay, các đơn vị dịch vụ do mongodb.org cung cấp không áp dụng các chỉ thị của đơn vị dịch vụ systemd mà mongodb.org đề xuất . Cả những cái được cung cấp Debian / Ubuntu. Nhưng, một lần nữa: Một đơn vị dịch vụ viết tay với các chỉ thị này không khó viết; hoặc thực sự để sửa đổi để thêm những thứ như numactl. ☺

đọc thêm


0

Vâng, không có câu trả lời của AB làm việc. Vì vậy, lựa chọn duy nhất của tôi là cài đặt từ tarball

Thực hiện theo, hướng dẫn về các tài liệu liên quan đến chủ đề này.


0

Là một phần bổ sung ngắn cho câu trả lời tuyệt vời của @ AB. Trên amd64 sống động, với bản cài đặt mongod 2.6 .26 trước đó , chỉ cần thay thế sources.list.dtệp hiện có bằng

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

theo sau là một bản nâng cấp làm việc tự động.

sudo apt-get update
sudo apt-get dist-upgrade
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.