2015-05-04 25 views
5

Gần đây tôi đã nâng cấp ubuntu của mình từ 14.10 lên 15.04. Tất cả các tính năng dường như hoạt động tốt ngoại trừ MongoDB. Tôi đang sử dụng mongoDB với ruby ​​trên ứng dụng đường ray sử dụng đá quý Mongoid. MongoDB không thể kiểm soát được từ dịch vụ như chúng ta thường làm trong ubuntu.Dịch vụ MongoDB không hoạt động sau khi nâng cấp lên Ubuntu 15.04

sudo service mongodb start 

hoặc

sudo service mongod start 

tôi nhận được thông báo lỗi này

Không thể khởi động lại mongod.service: Đơn vị mongod.service thất bại trong việc tải: Không có tập tin hoặc thư mục đó.

Nhưng tôi phải bắt đầu nó bằng tay mỗi lần tôi phải kết nối ứng dụng của tôi đến máy chủ MongoDB sử dụng

sudo mongod -f /etc/mongod.conf 

Vì vậy mongodb được kết nối miễn là thiết bị đầu cuối mà được mở ra. Tôi đang sử dụng MongoDB trong ứng dụng Ruby on Rails bằng cách sử dụng Mongoid adapater/ORM.

Khi tôi chạy

sudo service mongodb status 

tôi nhận được sau đầu ra

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. 

Bất kỳ sự giúp đỡ trong vấn đề này sẽ được đánh giá cao.

+0

Tôi bỏ phiếu để đóng câu hỏi này là không có chủ đề vì nó không liên quan đến lập trình. –

+1

Nó liên quan đến vấn đề cài đặt máy chủ mongodb trên phiên bản ubuntu mới nhất. MongoDB là máy chủ cơ sở dữ liệu có thể được sử dụng bởi các ngôn ngữ lập trình hiện đại. Tôi đang sử dụng nó với ruby ​​trên đường ray 4. Cài đặt của nó sẽ giúp tôi phát triển ứng dụng. –

+0

Làm thế nào bạn cài đặt Mongoid, nếu thông qua apt bạn đã thử nâng cấp nó đã làm bạn cố gắng gỡ lỗi init script? – Maran

Trả lời

2

Không ai trong số các giải pháp trên làm việc cho tôi. Có vài thay đổi cấp hạt nhân trong ubuntu 15.04 và chúng sẽ không giải quyết vấn đề này trong bản phát hành hiện tại. Hy vọng rằng nó sẽ được sửa trong bản phát hành ubuntu ổn định tiếp theo.

7

Nó chỉ ra rằng Mongo>2.6.3 đã là một vấn đề được biết đến với sự khởi đầu:

Hỗ trợ Systemd (không thể bắt đầu MongoDB với init script với Fedora 15 trở lên)

Như đã đề cập ở đây: in this link và có vẻ như rằng đây có thể là sẽ không được sửa chữa hoàn toàn cho >2.6.3 cho đến Ubuntu 16.04, trừ khi có sự phản đối mạnh mẽ.

Vì vậy, các giải pháp là phát hành:

sudo apt-get install --reinstall mongodb 

này trở lại con người mongo 2.6.3 và bây giờ tất cả TRÌNH! Đối với những người chạy ngang qua này ...

3

Các giải pháp trên làm việc cho tôi quá:

> sudo apt-get install --reinstall mongodb 

Tôi đã thử một số phương pháp mà tôi tìm thấy trong trang web này và các trang web khác, nhưng chỉ có một này làm việc cho tôi! Vì vậy, bây giờ, trở lại Mongodb 2.6.3!

Cập nhật: Vấn đề cố định (2015/08/02 14:39): Tôi chỉ phát hiện ra rằng MongoDB 3.0.5 được phát hành, vì vậy tôi bị thanh trừng phiên bản 2.6.3 và đã cố gắng để cài đặt 3.0.5 trên của tôi Ubuntu 15.04. Nhưng vấn đề vẫn còn! Tuy nhiên, sau khi tôi reintalled nó với gói wheezy Debian thay vào đó, cuối cùng là sudo service mongod start lệnh hoạt động (nó không hoạt động khi tôi cài đặt 3,0.4 phiên bản wheezy debian). Bây giờ MongoDB 3.0.5 mới chạy tốt trên Ubuntu 15.04 của tôi!

Để cài đặt Debian phiên bản khò khè, vui lòng tham khảo hướng dẫn cài đặt chính thức về MongoDB: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/

+0

Giải pháp của bạn đã làm việc cho tôi trong Ubuntu 15.10 với mongoDB 3.0.7 –

2

tôi thấy /var/log/mongodb/mongodb.log và cần di chuyển xác thực 2.6 lược đồ đến 3.0.5 giản đồ và tôi vừa xóa nhật ký và tất cả DB trong /var/lib/mongodb/ rồi khởi động lại dịch vụ và hoạt động lại.

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

hãy để tôi thử –

3

Bạn cần phải thay đổi cấu hình đường dẫn của db:

ví dụ trong file "/etc/mongod.conf" thiết lập "DBPATH:/data/db"

Bạn cần để cung cấp quyền cho người dùng mongodb truy cập vào đường dẫn này:

sudo chown -R mongodb /data/db 
Các vấn đề liên quan