Wer unter Debian 11 Bulseye die Datenbank, MongoDB installieren möchte, kann dies wie folgt durchführen. Installiert wird die MongoDB Community Edition die direkt von MongoDB stammt und auch gepflegt wird. Das Paket bei Debian ist ein anderes.
Falls sich MongoDB >4 nicht starten lässt, was mir unter einer virtuellen Maschine passiert ist und was an einer nicht unterstützten CPU lag, schaut hier nach Kompatibilitäten: Production Notes — MongoDB Manual
Benötigte Pakete installieren:
# apt-get install -y curl apt-transport-https software-properties-common gnupg2
MongoDB 6 unter Debian instalieren
MongoDB 6.0 Key in Debian hinzufügen:
# wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | apt-key add -
MongoDB Source der Sources.List hinzufügen:
# echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/6.0 main" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list
Cache aktualisieren:
# apt-get update -y
MongoDB Community Edition installieren
# apt-get install -y mongodb-org
MongoDB automatisch starten:
# systemctl daemon-reload
# systemctl enable mongod.service
# systemctl restart mongod.service
# systemctl --type=service --state=active | grep mongod
MongoDB 5 unter Debian installieren
MongoDB 5.0 Key in Debian hinzufügen:
# wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add -
MongoDB Source der Sources.List hinzufügen:
# echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | tee /etc/apt/sources.list.d/mongodb-org-5.0.list
Cache aktualisieren:
# apt-get update -y
Die folgenden Pakete werden als Teil des MongoDB-org-Pakets installiert.
- mongodb-org-server – Der mongodb-Server-Daemon.
- mongodb-org-mongos – Der mongodb mongos-Daemon.
- monodb-org-shell – Die Mongodb-Shell.
- monodb-org-tools – Enthält Werkzeuge zum Importieren, Exportieren und andere Dienstprogramme.
# apt-get install -y mongodb-org
MongoDB für den automatischen Start aktivieren:
# systemctl daemon-reload
# systemctl enable mongod.service
# systemctl restart mongod.service
# systemctl --type=service --state=active | grep mongod
läuft MongoDB
# sudo systemctl status mongod
MongoDB 5 Fehler Debian startet nicht
In einer virtuellen Maschine (ProxmoxVE KVM) hatte ich das Problem das MongoDB 5.0 nicht startet:
mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: failed (Result: signal) since Thu 2022-01-20 23:43:55 CET; 1s ago
Docs: https://docs.mongodb.org/manual
Process: 14452 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=killed, signal=ILL)
und im syslog:
traps: mongod[11537] trap invalid opcode ip:
Lösung laut MongoDB 5.0 Handbuch, also einfach die CPU auf min Sandy Bridge konfigurieren und es klappt. Wichtig die CPU muss den Befehlszatz AVX unterstützen.
MongoDB 5.0 requires a Sandy Bridge or newer CPU. Get a newer processor or use an older version of MongoDB. https://jira.mongodb.org/browse/SERVER-54407
MongoDB 4 unter Debian installieren
MongoDB 4.4 Key in Debian hinzufügen:
# wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
MongoDB Source der Sources.List hinzufügen:
# echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Cache aktualisieren
# apt update -y
MongoDB installieren
# apt install -y mongodb-org
MongoDB beim Systemstart starten
# systemctl daemon-reload
# systemctl enable mongod.service
Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /lib/systemd/system/mongod.service.
# systemctl restart mongod.service
# systemctl --type=service --state=active | grep mongod
mongod.service loaded active running MongoDB Database Server
MongoDB System Status und starten
# systemctl start mongod.service
root@debomada01:~# systemctl status mongod.service
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-01-21 23:20:55 CET; 1s ago
Docs: https://docs.mongodb.org/manual
Main PID: 3632 (mongod)
Memory: 16.0M
CPU: 1.090s
CGroup: /system.slice/mongod.service
└─3632 /usr/bin/mongod --config /etc/mongod.conf
Jan 21 23:20:55 debomada01 systemd[1]: Started MongoDB Database Server.
MongoDB Zugriffssteuerung
Normal hat jeder das Recht auf die Datenbank sowohl lesend als auch schreibend zuzugreifen. Wer das nicht möchte ändert es wie folgt.
# nano /etc/mongod.conf
folgendes hinzufügen
security:
authorization: enabled
Nun die Art des Zugriffs konfigurieren: Enable Access Control — MongoDB Manual
Transparent Huge Pages (THP) deaktivieren
Große Seiten sind oft ein Performanceproblem und sollten daher, Empfelung von MongoDB, deaktiviert werden.
# nano /etc/systemd/system/disable-transparent-huge-pages.service
Folgendes eintragen:
[Unit]
Description=Disable Transparent Huge Pages (THP)
DefaultDependencies=no
After=sysinit.target local-fs.target
Before=mongod.service
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo never | tee /sys/kernel/mm/transparent_hugepage/enabled > /dev/null'
[Install]
WantedBy=basic.target
# systemctl daemon-reload
# systemctl start disable-transparent-huge-pages
# systemctl enable disable-transparent-huge-pages
Prüfung der Einstellung
# cat /sys/kernel/mm/transparent_hugepage/enabled
Output:
always madvise [never]
# systemctl start mongod oder systemctl restart mongod
# systemctl status mongod
MongoDB Version anzeigen
# mongod --version
db version v4.4.12
Build Info: {
"version": "4.4.12",
"gitVersion": "51475a8c4d9856eb1461137e7539a0a763cc85dc",
"openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "debian10",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
MongoDB Verzeichnisse
Datenbank und Backup unter:
/var/lib/mongo
Logfiles unter:
/var/log/mongodb
MongoDB in der Konsole starten
# mongo
MongoDB shell version v4.4.12
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("629fe194-77c3-4bf9-a421-48f0e43c3ac9") }
MongoDB server version: 4.4.12
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
---
The server generated these startup warnings when booting:
2022-01-21T23:36:49.776+01:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2022-01-21T23:36:52.229+01:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
MongoDB deinstallieren
Um MongoDB komplett zu deinstallieren wie folgt
# sudo service mongod stop
# sudo apt-get purge mongodb-org*
# sudo rm -r /var/log/mongodb
# sudo rm -r /var/lib/mongodb
Thats it … Have Fun!
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.
Pingback:MeshCentral unter Debian installieren - TASTE-OF-IT
Pingback:Debian zentraler Logserver mit Graylog und Elasticsearch – TASTE-OF-IT