ฉันจะติดตั้ง MongoDB 3.0 ใน Vivid ได้อย่างไร


8

แพ็คเกจสดใสอย่างเป็นทางการสำหรับ mongodb คือ 2.x และแพ็คเกจที่ MongoDB จัดหาให้ในhttp://repo.mongodb.org/apt/ubuntu/dists/trusty/นั้นมีเฉพาะสำหรับรุ่น LTS เท่านั้น

อีกทางเลือกหนึ่งคือฉันสามารถเปลี่ยนกลับเป็น 14.04 LTS ได้ แต่ฉันจะต้องติดตั้ง openjdk-8-jdk ซึ่งมีให้ใช้งานเท่านั้นที่สดใส


1
ฉันคิดว่าไม่มีอะไรเลวร้ายที่จะเกิดขึ้นหากคุณติดตั้งจาก repo ที่ไว้ใจได้จนถึงความสดใส
Pilot6

คำตอบ:


13

เป็นไปได้ว่า MongoDB จะไม่เริ่มต้นหากคุณใช้แพ็คเกจ Trusty:

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

ในกรณีนี้ให้ติดตั้งแพ็คเกจDebian Wheezyตามที่อธิบายไว้ท้าย

ติดตั้งแพ็คเกจ DEB Trusty

ดาวน์โหลดไฟล์ 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

และติดตั้งด้วย (ตามลำดับนี้)

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

และนำมาจากความคิดเห็นขอบคุณ@ Pilot6 :

พวกเขาอาจมีการพึ่งพาซึ่งกันและกัน นั่นเป็นสาเหตุที่แพ็คเกจการติดตั้งหนึ่งต่อหนึ่งอาจมีข้อผิดพลาด ฉันแนะนำsudo dpkg -i mongodb*.deb


ใช้ PPA ที่เชื่อถือได้

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

ใช้แพ็คเกจ Debian Wheezy

เป็นไปได้ว่า MongoDB จะไม่เริ่มต้นหากคุณใช้แพ็คเกจ Trusty:

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

ในกรณีนี้ให้ติดตั้งแพ็คเกจDebian Wheezyตามที่อธิบายไว้ด้านล่าง

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

พวกเขาอาจมีการพึ่งพาซึ่งกันและกัน นั่นเป็นสาเหตุที่แพ็คเกจการติดตั้งหนึ่งต่อหนึ่งอาจมีข้อผิดพลาด ฉันแนะนำsudo dpkg -i mongodb*.deb
Pilot6

@ Pilot6 ดังนั้นsudo dpkg -i mongodb-org_3.0.3_amd64.debคำสั่งสุดท้าย
AB

เพียงข้อเสนอแนะ และมันง่ายกว่าที่จะเป็นคำสั่งเดียว หากคุณติดตั้งหลายแพ็กเกจในหนึ่งคำสั่งการพึ่งพาจะได้รับการแก้ไข
Pilot6

@ Pilot6 เพิ่มและเชื่อมโยง =)
AB

ตกลงฉันใช้แพ็คเกจ deb เชื่อถือและใช้งานได้ ฉันจะได้รับมันแล้วทำงานเป็นบริการเพื่อที่จะสามารถเริ่มต้นและหยุดโดยใช้service mongod start?
Hugh Rawlinson

4

ติดตั้งเรียบร้อยแล้วด้วย mongo รุ่น 3.0.6 ใน Ubuntu 15.04 ของฉันโดยใช้ที่เก็บ debian wheezy - ดูขั้นตอนด้านล่าง

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

อย่างไรก็ตามหลังจากขั้นตอนทั้งหมดข้างต้นและติดตั้ง mongodb ในเครื่องของฉันตอนนี้เมื่อฉันพยายามเริ่มบริการ mongodb ด้วยsudo service mongod startก็จะล้มเหลว ทิ้งข้อความแสดงข้อผิดพลาดต่อไปนี้

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

ดังนั้นนี่คือวิธีที่ฉันแก้ไขและเริ่มต้น mongodb ตามปกติ

  • เปลี่ยนไฟล์ที่เก็บข้อมูลเริ่มต้นของ MongoDB จาก/ var / lib / mongodbเป็น/ data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf และเปลี่ยนบรรทัด“ dbpath” ดังต่อไปนี้

  • แทนที่DBPath = / var / lib / MongoDB TO DBPath = / ข้อมูล / ฐานข้อมูลและบันทึกแฟ้ม

  • จากนั้นลบค่าเริ่มต้นเก่า / var / lib / mongodb

  • ตอนนี้เราต้องสร้างไดเรกทอรี / ไฟล์ทั้งหมดที่เป็นของผู้ใช้ mongod

  • วิ่ง sudo chown -R mongodb:mongodb /data/db

และในที่สุดฉันก็เริ่ม mongo ด้วย sudo service mongod start

และแสดงว่าบริการกำลังทำงานด้วยsudo systemctl status mongod - ควรแสดงข้อความที่คล้ายกับด้านล่าง

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

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

มีรายละเอียดขั้นตอนของฉันของฉันในบล็อกโพสต์


1

ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้: แพ็คเกจ Debian / Ubuntu ได้รับการติดตั้งด้วย systemd service units เพื่อเติมเต็มช่องโหว่ของสิ่งที่เผยแพร่โดยตรงจาก mongodb.org แต่ไม่มีปัญหาmongodb.serviceไฟล์หน่วยใน WWW มันไม่ยากที่จะเขียนอย่างใดอย่างหนึ่ง (ฉันมี.)

โดยเฉพาะ: คุณจะได้พบกับหน่วยบริการเช่นในMongoDB เซิร์ฟเวอร์รุ่น 2.6 แพคเกจสำหรับ Ubuntu รุ่น 15 นอกจากนี้ยังมีหน่วยบริการที่ตีพิมพ์โดย mongodb.orgแน่นอน เป็นเพียงกรณีที่คน mongodb.org ใช้การใช้ RPM กับการใช้ systemd ในการแจกจ่ายเฉพาะอย่างผิดพลาด

โปรดทราบว่ากระทบกระเทียบหน่วยงานบริการ mongodb.org จัดไม่สามารถใช้systemd สั่งหน่วยบริการที่ mongodb.org ตัวเองแนะนำ ไม่ใช้ Debian / Ubuntu ที่ให้มาด้วย แต่อีกครั้ง: หน่วยบริการที่เขียนด้วยมือซึ่งมีคำสั่งเหล่านี้ไม่ยากที่จะเขียน หรือแน่นอนที่จะแก้ไขเพื่อเพิ่มสิ่งต่าง ๆ เช่น numactl ☺

อ่านเพิ่มเติม


0

ไม่มีคำตอบของ AB เลย ดังนั้นตัวเลือกเดียวของฉันคือการติดตั้งจาก tarball

ทำตามคำแนะนำเกี่ยวกับเอกสารที่เกี่ยวข้องกับหัวข้อนี้


0

เป็นคำตอบที่ยอดเยี่ยมสั้น ๆ ของ @ AB ใน amd64 ที่สดใสด้วยการติดตั้ง mongod 2.6 .26 ก่อนหน้าเพียงแค่แทนที่sources.list.dไฟล์ที่มีอยู่ด้วย

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

ตามด้วยการอัปเกรด dist จะทำงานโดยอัตโนมัติ

sudo apt-get update
sudo apt-get dist-upgrade
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.