Điểm:0

Không thể bắt đầu mongod từ systemctl

lá cờ za

Tôi đã thử cài đặt phiên bản Cộng đồng MongoDB 5.0 trên Ubuntu 18.04 từ tài liệu Chính thức: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

Mọi thứ đều ổn cho đến khi tôi cố chạy dịch vụ mongod:

$ systemctl bắt đầu mongod

Không thể bắt đầu mongod.service: Đơn vị mongod.service không được tải đúng cách: Đối số không hợp lệ.
Xem nhật ký hệ thống và 'trạng thái systemctl mongod.service' để biết chi tiết.

Tôi đã cố gắng thu thập thông tin:

$ systemctl status mongod.service
â mongod.service
   Đã tải: lỗi (Lý do: Đối số không hợp lệ)
   Đang hoạt động: không hoạt động (đã chết)

$ Sudo systemd-analyze xác minh mongod.service
mongod.service: Dịch vụ thiếu cả cài đặt ExecStart= và ExecStop=. từ chối.
mongod.service: Không thể tạo mongod.service/start: Đơn vị mongod.service không được tải đúng cách: Đối số không hợp lệ.
Đã cố xóa hệ thống tệp đĩa và chúng tôi không thể cho phép điều đó.

Thay vào đó, nếu tôi cố gắng kích hoạt dịch vụ, tôi nhận được thông báo sau:

$ systemctl kích hoạt mongod.service
Các tệp đơn vị không có cấu hình cài đặt (WantedBy, Bắt buộcBy, Ngoài ra, Bí danh
trong phần [Cài đặt] và DefaultInstance cho các đơn vị mẫu).
Điều này có nghĩa là chúng không được kích hoạt bằng systemctl.
Lý do có thể có loại đơn vị này là:
1) Một đơn vị có thể được kích hoạt tĩnh bằng cách được liên kết tượng trưng từ đơn vị khác
   Thư mục .want/ hoặc .requires/.
2) Mục đích của một đơn vị có thể là hoạt động như một người trợ giúp cho một số đơn vị khác có
   một yêu cầu phụ thuộc vào nó.
3) Một thiết bị có thể được khởi động khi cần thông qua kích hoạt (ổ cắm, đường dẫn, hẹn giờ,
   D-Bus, udev, lệnh gọi systemctl theo kịch bản, ...).
4) Trong trường hợp đơn vị mẫu, đơn vị có nghĩa là được kích hoạt với một số
   tên ví dụ được chỉ định.

Thật vậy, nếu tôi đọc đầu ra từ systemctl list-unit-files, dịch vụ mongod được gắn cờ là tĩnh.

Đây là của tôi /lib/systemd/system/mongod.service nội dung (được viết tự động bằng cách cài đặt mongodb):

  GNU nano 2.9.3 /lib/systemd/system/mongod.service                                 

[Đơn vị]
Mô tả=Máy chủ cơ sở dữ liệu MongoDB
Tài liệu=https://docs.mongodb.org/manual
Sau=mạng.mục tiêu

[Dịch vụ]
Người dùng=mongodb
Nhóm=mongodb
Tệp môi trường=-/etc/default/mongod
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
PIDFile=/var/run/mongodb/mongod.pid
# Kích thước tập tin
Giới hạnFSIZE=vô cùng
# thời gian cpu
Giới hạnCPU=vô cùng
# kích thước bộ nhớ ảo
Giới hạnAS=vô cùng
# mở tập tin
Giới hạnNOFILE=64000
# quy trình/luồng
Giới hạnNPROC=64000
# bộ nhớ bị khóa
Giới hạnMEMLOCK=vô cùng
# tổng số chủ đề (người dùng + hạt nhân)
Nhiệm vụMax=vô cùng
TasksAccounting=false

# Giới hạn được đề xuất cho mongod như được chỉ định trong
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Cài đặt]
WantedBy=multi-user.target

Các /var/log/mongodb/ mặc dù thư mục trống.

Lưu ý rằng tôi đã cài đặt các phiên bản MongoDB trước đó, vì vậy tôi đã thực hiện các bước trên bài đăng này:Apt-get không thành công vào ngày 16.04 hoặc 18.04 khi cài đặt mongodb

Và tôi đã thử cài đặt MongoDB 4.2 sau đó. Và vấn đề vẫn tiếp diễn.

Nó thực sự đã được cài đặt, như tôi có thể thấy phiên bản của nó:

phiên bản db v4.2.18
phiên bản git: f65ce5e25c0b26a00d091a4d24eec1a8b3a4c016
Phiên bản OpenSSL: OpenSSL 1.1.1 Ngày 11 tháng 9 năm 2018
cấp phát: tcmalloc
mô-đun: không có
xây dựng môi trường:
    phân phối: ubuntu1804
    tinh bột: x86_64
    target_arch: x86_64

Những lỗi systemctl này có ý nghĩa gì? Tôi nên cố gắng làm gì? Cảm ơn bạn đã đọc.

CHỈNH SỬA: Lưu ý rằng tôi cần chạy mongod lệnh thông qua sudo để nó hoạt động từ thiết bị đầu cuối.

Vì vậy, tôi đã thử nghiệm để sửa đổi mongod.service tập tin theo hai cách:

  • đầu tiên với Người dùng = root, Nhóm = gốc
  • Sau đó bằng cách thêm mongodb vào nhóm sudo của tôi và sử dụng:
Người dùng=mongodb
Nhóm=mongodb
Tệp môi trường=-/etc/default/mongod
ExecStart=sudo /usr/bin/mongod --config /etc/mongod.conf

Cả hai đều dẫn đến cùng một lỗi: đối số không hợp lệ

Terrance avatar
lá cờ id
Làm theo các bước cài đặt cho Ubuntu 20.04 và MongoDB 5.0 cho bản cài đặt 18.04 LTS của bạn: https://askubuntu.com/a/842599/231142 Tôi vừa mới thực hiện và nó hoạt động tốt cho bản cài đặt 18.04 LTS VM mà tôi có.
Terrance avatar
lá cờ id
Điều này có trả lời câu hỏi của bạn không? [Apt-get không thành công khi cài đặt mongodb 16.04 hoặc 18.04](https://askubuntu.com/questions/842592/apt-get-fails-on-16-04-or-18-04-installing-mongodb) Thêm cái này vào đây bởi vì (các) câu trả lời sẽ giúp ích cho bạn.
raaaahman avatar
lá cờ za
Xin lỗi @Terrance, đó là các bước tôi đã làm theo, nhưng tôi vừa dán nhầm liên kết vào bài đăng của mình (đã chỉnh sửa ngay bây giờ). Vì vậy, không, điều này đã không giúp đỡ. Nhưng cảm ơn bạn đã trả lời nhanh chóng của bạn.
Terrance avatar
lá cờ id
Bạn có thể muốn xem: https://serverfault.com/questions/986416/systemctl-complains-about-no-installation-config-but-it-exists Vì tệp dịch vụ của bạn có thể không chính xác. Lỗi ban đầu của bạn cho biết "Dịch vụ thiếu cả cài đặt ExecStart= và ExecStop=." và mọi thứ trong đó cũng phân biệt chữ hoa chữ thường.
Terrance avatar
lá cờ id
Tệp `.service` của bạn khác với tệp của tôi. Có thể sao lưu của bạn đến một vị trí khác và thay thế nó bằng vị trí tôi có bên dưới. Một số dòng khác nhau mà tôi có thể thấy giữa của bạn và của tôi.
raaaahman avatar
lá cờ za
Tôi chỉ thử điều đó. Vẫn cùng một vấn đề. Cảm ơn bạn đã dành thời gian để giúp tôi mặc dù.
Terrance avatar
lá cờ id
Tất cả mọi thứ có vẻ chính xác sau đó. Phải có điều gì đó sai khác như systemd có thể bị rối tung. Tôi rất nghi ngờ rằng đó là MongoDB. Mọi thứ cần thiết đều có trong tệp nhưng systemd không thể tải nó. Thử cài đặt lại systemd `sudo apt install --reinstall systemd`. Mặt khác, tôi nghĩ rằng bạn có thể đang xem bản cài đặt 18.04 bị lỗi và bạn có thể cần phải cài đặt lại hệ điều hành.
raaaahman avatar
lá cờ za
Cảm ơn vì lời khuyên của bạn. Mặc dù vậy, tôi có thể chạy nó từ CLI và thậm chí tôi đã chuyển sang bộ chứa docker để không làm rối thêm hệ điều hành của mình. Tôi vẫn quan tâm đến việc tìm kiếm những gì sai mặc dù ...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.