ฉันได้ลองติดตั้ง MongoDB 5.0 Community edition บน Ubuntu 18.04 จากเอกสารอย่างเป็นทางการ: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
ทุกอย่างเป็นไปด้วยดีจนกระทั่งฉันพยายามเรียกใช้บริการ mongod:
$ systemctl เริ่ม mongod
ไม่สามารถเริ่ม mongod.service: หน่วย mongod.service โหลดไม่ถูกต้อง: อาร์กิวเมนต์ไม่ถูกต้อง
ดูบันทึกระบบและ 'สถานะ systemctl mongod.service' สำหรับรายละเอียด
ฉันพยายามรวบรวมข้อมูล:
$ systemctl สถานะ mongod.service
â mongod.บริการ
โหลดแล้ว: ข้อผิดพลาด (เหตุผล: อาร์กิวเมนต์ไม่ถูกต้อง)
ใช้งาน: ไม่ใช้งาน (ตาย)
$ sudo systemd-analyze ตรวจสอบ mongod.service
mongod.service: บริการไม่มีการตั้งค่าทั้ง ExecStart= และ ExecStop= ปฏิเสธ
mongod.service: ล้มเหลวในการสร้าง mongod.service/start: หน่วย mongod.service โหลดไม่ถูกต้อง: อาร์กิวเมนต์ไม่ถูกต้อง
พยายามที่จะลบระบบไฟล์ดิสก์ และเราไม่สามารถอนุญาตได้
หากฉันพยายามเปิดใช้งานบริการแทน จะมีข้อความดังต่อไปนี้:
$ systemctl เปิดใช้งาน mongod.service
ไฟล์หน่วยไม่มีการกำหนดค่าการติดตั้ง (WantedBy, RequiredBy, Also, Alias
การตั้งค่าในส่วน [ติดตั้ง] และ DefaultInstance สำหรับหน่วยเทมเพลต)
ซึ่งหมายความว่าไม่ได้ตั้งใจให้เปิดใช้งานโดยใช้ systemctl
สาเหตุที่เป็นไปได้สำหรับการมีหน่วยประเภทนี้คือ:
1) หน่วยอาจเปิดใช้งานแบบคงที่โดยเชื่อมโยงจากหน่วยอื่น
ไดเรกทอรี .wants/ หรือ .requires/
2) จุดประสงค์ของหน่วยหนึ่งอาจทำหน้าที่เป็นผู้ช่วยเหลือสำหรับหน่วยอื่นที่มี
ความต้องการขึ้นอยู่กับมัน
3) หน่วยอาจเริ่มต้นเมื่อจำเป็นผ่านการเปิดใช้งาน (ซ็อกเก็ต เส้นทาง ตัวจับเวลา
D-Bus, udev, สคริปต์ systemctl call, ...)
4) ในกรณีของเทมเพลตยูนิต ยูนิตนั้นควรเปิดใช้งานด้วยบางส่วน
ระบุชื่ออินสแตนซ์
แน่นอนถ้าฉันอ่านผลลัพธ์จาก systemctl รายการหน่วยไฟล์
บริการ mongod ถูกตั้งค่าสถานะเป็น คงที่
.
นี่ของฉัน /lib/systemd/system/mongod.service
เนื้อหา (เขียนโดยอัตโนมัติโดยการติดตั้ง mongodb):
GNU นาโน 2.9.3 /lib/systemd/system/mongod.service
[หน่วย]
คำอธิบาย=เซิร์ฟเวอร์ฐานข้อมูล MongoDB
เอกสาร=https://docs.mongodb.org/manual
หลังจาก = network.target
[บริการ]
ผู้ใช้=mongodb
Group=mongodb
EnvironmentFile=-/etc/default/mongod
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
PIDFile=/var/run/mongodb/mongod.pid
#ขนาดไฟล์
LimitFSIZE=อินฟินิตี้
#เวลาซีพียู
LimitCPU = ระยะอนันต์
# ขนาดหน่วยความจำเสมือน
LimitAS=อินฟินิตี้
#เปิดไฟล์
LimitNOFILE=64000
# กระบวนการ / เธรด
ลิมิตNPROC=64000
#ล็อคหน่วยความจำ
LimitMEMLOCK=อินฟินิตี้
# เธรดทั้งหมด (ผู้ใช้+เคอร์เนล)
TasksMax=อินฟินิตี้
TasksAccounting=เท็จ
# ขีดจำกัดที่แนะนำสำหรับ mongod ตามที่ระบุไว้ใน
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
[ติดตั้ง]
WantedBy=multi-user.target
เดอะ /var/log/mongodb/
โฟลเดอร์ว่างเปล่าแม้ว่า
โปรดทราบว่าฉันติดตั้ง MongoDB เวอร์ชันก่อนหน้า ดังนั้นฉันจึงดำเนินการตามขั้นตอนต่างๆ ในโพสต์นี้:Apt-get ล้มเหลวในการติดตั้ง mongodb 16.04 หรือ 18.04
และฉันพยายามติดตั้ง MongoDB 4.2 หลังจากนั้น และปัญหายังคงมีอยู่
มีการติดตั้งจริง ๆ เนื่องจากฉันเห็นเวอร์ชันของมัน:
ฐานข้อมูลเวอร์ชัน v4.2.18
รุ่น git: f65ce5e25c0b26a00d091a4d24eec1a8b3a4c016
เวอร์ชัน OpenSSL: OpenSSL 1.1.1 11 ก.ย. 2018
ตัวจัดสรร: tcmalloc
โมดูล: ไม่มี
สร้างสภาพแวดล้อม:
distmod: อูบุนตู 1804
การกำจัด: x86_64
target_arch: x86_64
ข้อผิดพลาด systemctl เหล่านี้หมายความว่าอย่างไร ฉันควรพยายามทำอะไร
ขอบคุณสำหรับการอ่าน.
แก้ไข: โปรดทราบว่าฉันต้องเรียกใช้ไฟล์ มองโกด
สั่งผ่าน ซูโด
เพื่อให้มันทำงานจากเทอร์มินัล
ดังนั้นฉันจึงทดสอบเพื่อแก้ไข mongod.service
ไฟล์ในสองวิธี:
- ครั้งแรกกับ
ผู้ใช้ = ราก
, กลุ่ม = ราก
- จากนั้นโดยการเพิ่ม
มองโกบ
ไปยังกลุ่ม sudo ของฉันและใช้:
ผู้ใช้=mongodb
Group=mongodb
EnvironmentFile=-/etc/default/mongod
ExecStart=sudo /usr/bin/mongod --config /etc/mongod.conf
ทั้งสองทำให้เกิดข้อผิดพลาดเดียวกัน: อาร์กิวเมนต์ไม่ถูกต้อง