MonogDB 3.4 в Ubuntu 20.04

#mongodb #ubuntu #ubuntu-20.04 #mongodb-3.4

#mongodb #ubuntu #ubuntu-20.04 #mongodb-3.4

Вопрос:

В производственном приложении мы используем версию MongoDB 3.4.Я установил ubuntu 20.04 LTS на свой локальный компьютер и попытался установить Mongo 3.4 и ударился головой о стену. Пожалуйста, дайте мне знать ваши мысли. Вот мои шаги:

 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb http://repo.mongodb.com/apt/ubuntu "$(lsb_release -sc)"/mongodb-enterprise/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org 
 

Ответ №1:

Возможно, я просто сделал это более «ручным способом»…

Скачал приложение отсюда: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.24.tgz (это, давайте назовем версию vanila со страницы mongodb)

Распаковал его в / opt:

tar zxf mongodb-linux-x86_64-3.4.24.tgz -C /opt/

Символическая ссылка для более короткого имени:

ln -s /opt/mongodb-linux-x86_64-3.4.24 /opt/mongo

Создал пользователя для mongo:

useradd -r mongod

затем добавлена команда systemctl:

 echo "[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongod
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/mongod.service
 

Перезагрузил systemctl:

systemctl daemon-reload

Затем создал файл /etc/mongod.conf со следующим содержимым:

 # mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /opt/mongo/database/
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongod.log

# network interfaces
net:
  port: 27017
#  bindIp: 127.0.0.1


#processManagement:

#security:

#operationProfiling:

#replication:
#  replSetName: "mongodb-keys-replica-set"

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:
 

затем запустите службу:

systemctl start mongod

При необходимости измените конфигурации и путь к каталогу.

Это работает, это какое-то решение ручной работы для устаревшей версии для этой версии ubuntu. Не будет обновляться с помощью apt-get или связанных… но работает так, как должно.

Если в локальном, для целей тестирования, возможно, неплохо использовать образ docker… но это просто предложение, а не ответ на ваш вопрос.

Ответ №2:

Приведенный выше ответ правильный, однако не забудьте:

  1. создание каталогов и файлов, смена владельца
     mkdir /opt/mongo/database
    touch /var/log/mongod.log
    
    chown mongod:mongod /var/log/mongod.log
    chown -R mongod:mongod /opt/mongodb-linux-x86_64-3.4.24
    chown mongod:mongod /opt/mongo
     
  2. выполните эту часть от имени root, ссылка на mongo была неправильной и должна быть такой, как показано ниже:
     echo "[Unit]
    Description=High-performance, schema-free document-oriented database
    After=network.target
    
    [Service]
    User=mongod
    ExecStart=/opt/mongo/bin/mongod --quiet --config /etc/mongod.conf
    
    [Install]
    WantedBy=multi-user.target" > /etc/systemd/system/mongod.service
     

Ответ №3:

Кажется, что для этого нет простого способа, потому что в самой официальной документации говорится, что для версии 3.4 поддерживаются только версии ubuntu 16.04 и 14.04 (https://docs.mongodb.com/v3.4/tutorial/install-mongodb-on-ubuntu /).

Я попытался выполнить описанные выше шаги с помощью ignivs, но каждый раз сталкивался с этой ошибкой:

Не удалось запустить mongod.service: модуль mongod.service не найден.