#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:
Приведенный выше ответ правильный, однако не забудьте:
- создание каталогов и файлов, смена владельца
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
- выполните эту часть от имени 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 не найден.