MongoDB 3.0.2 sẽ không bắt đầu sau khi nâng cấp lên Ubuntu 15.10


14

Gần đây tôi đã nâng cấp lên Ubuntu 15.10 sau đó MongoDB 3.0.2 không bắt đầu.

$ sudo service mongod start

mà sẽ ném lỗi:

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

Câu trả lời:


21

Đó chỉ là thiếu một tệp dịch vụ cho systemd. Không cần quay lại để bắt đầu như Kartik đã làm hoặc sử dụng một kho lưu trữ khác với mô tả trong https://docs.mongodb.org/manual/installation/ .

Tạo một tệp /lib/systemd/system/mongodb.servicecó nội dung sau:

[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

Xem thêm các ghi chú trong Askubfox.com/a/617869/43344 .
JdeBP

Tôi sẽ nói thêm rằng bạn cần theo dõi cẩn thận quyền sở hữu tệp của thư mục dữ liệu, khóa tmp fs và tệp nhật ký. Tôi đã sudo service...
loay hoay

4
vì một số lý do, tập tin cấu hình mặc định được gọi /etc/mongod.confvà không/etc/mongodb.conf
mightyuhu

1
@mightyuhu là chính xác, không có đường dẫn chính xác được xác định, tôi gặp thất bại. với con đường chính xác tôi không gặp thất bại.
dùng1063287

2
Cảm ơn! Đây là câu trả lời đúng. Một điều nhỏ: tên dịch vụ nên là mongodvì đây là những gì họ sử dụng trên trang web chính thức của họ. Vì vậy, mongodb.confnên mongod.conf và tên tập tin nên là/lib/systemd/system/mongod.service
caisah

12

Lỗi này xảy ra do sự cố với Ubuntu mới (15 trở đi).

Hệ thống init mặc định là systemd đã được Upstart trước đó. Vì vậy, bạn cần cài đặt Upstart, khởi động lại hệ thống của bạn và ở đây bạn đi, bây giờ bạn có thể chạy dịch vụ mongodb.

  • Cài đặt khởi động

sudo apt-get install upstart-sysv

  • Khởi động lại hệ thống của bạn

sudo service mongod start

mongod start/running, process 3371


1
Tên dịch vụ hiện tạimongodb
sowrov

@sowrov, không, tên dịch vụ mới nhất vẫn là 'mongod'
Clay Ferguson

1
sau khi cài đặt upstart-sysv và khởi động lại Ubuntu 16.04 của tôi, nó bị trống; Tôi đã phải phục hồi và apt-get loại bỏ nó. Chủ đề này có thể hữu ích nếu bạn muốn tiếp tục sử dụng upstart Askubfox.com/questions/760615/iêu
jrgd

5

Tôi đã sử dụng gói debian trong Ubuntu 15.10

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

1

Tôi đã có vấn đề tương tự sau khi nâng cấp lên 15.10.

Có thể có rất nhiều vấn đề nhưng tùy thuộc vào nguyên nhân gây ra sự cố của bạn, bạn có thể có được mongodb của mình chạy qua init.d:

sudo /etc/init.d/mongodb start

Điều đó làm việc cho tôi, nhưng không phải là một giải pháp lâu dài vì bạn cần chạy nó sau mỗi lần khởi động lại hoặc thêm nó vào các nhiệm vụ khởi động của bạn. Vì vậy, tôi đã làm theo như sau:

1) tạo tệp dịch vụ như được giải thích bởi 'sclausen'.

2) tải lại dịch vụ bằng cách chạy:

sudo systemctl daemon-reload

3) đã chạy sudo service mongodb start

4) Lệnh chạy mà không có đầu ra. Vì vậy, tôi đã kiểm tra bằng cách chạy mongovà gặp lỗi ổ cắm:

Error: connect ECONNREFUSED 127.0.0.1:27017 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)

5) Xem qua các bản ghi tail -n 50 /var/log/mongodb/ và tìm ra lỗi cơ bản:

2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted

6) đã xóa tệp ổ cắm có vấn đề: sudo rm /tmp/mongodb-27017.sock như được đề xuất trên chuỗi này: /programming/29813648/fails-to-unlink-socket-file-error-in-mongodb-3-0

7) đang chạy dịch vụ: sudo service mongodb start

tại thời điểm đó tất cả đều tốt và Bob trở lại vị trí chính đáng của mình như chú tôi.


0

Trong trường hợp của tôi, tôi có Ubuntu 16.04.1, tôi đã cài đặt MongoDB 3.2.11 và tôi cũng gặp phải lỗi đó. Sau nhiều lần dọn dẹp và thử lại, cuối cùng nó cũng hoạt động "cho phép" dịch vụ:

systemctl enable mongod.service

Sau đó, nó chỉ hoạt động

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.