wiki/HowtoNeo4j.md

135 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

---
categories: databases nosql
title: Howto neo4j
---
2016-12-29 11:25:39 +01:00
2023-06-28 10:36:51 +02:00
* [Documentation officielle](https://neo4j.com/docs/operations-manual/current/)
Neo4j est une base de données de graphes pour Java.
2016-12-29 11:25:39 +01:00
## Installation
2023-06-28 10:36:51 +02:00
* [Documentation d'installation](https://neo4j.com/docs/operations-manual/current/installation/linux/debian/)
* [Documentation dépôt](https://debian.neo4j.com)
* [Versions disponibles](https://neo4j.com/developer/kb/neo4j-supported-versions/)
* [Dépendance Java](https://neo4j.com/docs/operations-manual/current/installation/requirements/#deployment-requirements-java)
Neo4j n'est pas disponible dans les dépôts Debian.
Configurer la clé et le dépôt du distributeur pour Apt :
2016-12-29 11:25:39 +01:00
~~~
2023-06-28 10:36:51 +02:00
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | apt-key add -
# Debian 11 (Bullseye)
echo 'deb https://debian.neo4j.com stable 5' | tee /etc/apt/sources.list.d/neo4j.list
# Debian 10 (Buster)
echo 'deb https://debian.neo4j.com stable 4.4' | tee /etc/apt/sources.list.d/neo4j.list
# Debian 9 (Stretch)
echo 'deb https://debian.neo4j.com stable 3.5' | tee /etc/apt/sources.list.d/neo4j.list
2016-12-29 11:25:39 +01:00
~~~
2023-06-28 10:36:51 +02:00
Installer ensuite Neo4j :
2016-12-29 11:25:39 +01:00
~~~
2023-06-28 10:36:51 +02:00
apt update
apt install neo4j
systemctl status neo4j
2016-12-29 11:25:39 +01:00
~~~
2023-06-28 10:36:51 +02:00
S'assurer que la version de Java par défaut (`java -version`) [correspond bien à la de la version de Neo4j installée](https://neo4j.com/docs/operations-manual/current/installation/requirements/#deployment-requirements-java).
Si besoin d'une version Java différente de celle par défaut, il faudra modifier JAVACMD dans l'unité Systemd du service.
Puis, augmenter le nombre maximum de fichiers ouverts (la valeur 1024 par défaut est insuffisante : `ulimit -n`) :
2016-12-29 11:25:39 +01:00
~~~
2023-06-28 10:36:51 +02:00
# systemctl edit neo4j
[Service]
LimitNOFILE=60000 # minimum recommandé : 40000
systemctl daemon-reload
systemctl restart neo4j
2016-12-29 11:25:39 +01:00
~~~
2023-06-28 10:36:51 +02:00
2016-12-29 11:25:39 +01:00
## Configuration
2023-06-28 10:36:51 +02:00
https://neo4j.com/docs/operations-manual/current/configuration/neo4j-conf/
La configuration se trouve dans `/etc/neo4j/neo4j.conf`.
2023-06-28 15:30:27 +02:00
Pour [configurer l'interface web](https://neo4j.com/docs/operations-manual/current/configuration/connectors/) :
~~~
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=0.0.0.0:7474
2023-09-27 11:33:59 +02:00
dbms.connector.http.advertised_address=test.com:7474
2023-06-28 15:30:27 +02:00
~~~
2023-06-28 10:36:51 +02:00
## Sauvegarde
* [Documentation officielle](https://neo4j.com/docs/operations-manual/5/backup-restore/)
2016-12-29 11:25:39 +01:00
2023-06-28 10:36:51 +02:00
### Versions Neo4j 5.X
Faire une sauvegarde « online » (appelée « backup ») :
2016-12-29 11:25:39 +01:00
~~~
2023-06-28 10:36:51 +02:00
neo4j-admin database backup <DATABASE> --to-path=/home/backup/neo4j/
2016-12-29 11:25:39 +01:00
~~~
2023-06-28 10:36:51 +02:00
Faire une sauvegarde « offline » (appelée « dump ») :
2016-12-29 11:25:39 +01:00
2023-06-28 10:36:51 +02:00
~~~
neo4j-admin database dump <DATABASE> --to-path=/home/backup/neo4j/neo4j-<DATABASE>-<timestamp>.dump
~~~
2016-12-29 11:25:39 +01:00
2023-06-28 10:36:51 +02:00
### Versions Neo4j 4.X
Faire une sauvegarde « online » (appelée « backup ») :
~~~
neo4j-admin backup --database=<DATABASE> --backup-dir=/home/backup/neo4j/
~~~
Faire une sauvegarde « offline » (appelée « dump ») :
~~~
neo4j-admin dump --database=<DATABASE> --to=/home/backup/neo4j/neo4j-<DATABASE>-<timestamp>.dump
~~~
2023-06-28 10:50:58 +02:00
### Versions Neo4j 3.X
Faire une sauvegarde :
~~~
neo4j-admin backup --backup-dir=/home/backup/neo4j/
~~~
### Anciennes versions (< Neo4j 4.0, 3.0 ?)
Note : *section non vérifiée*.
2023-06-28 10:36:51 +02:00
Pour réaliser un dump de la base de donnée :
2016-12-29 11:25:39 +01:00
~~~
/usr/bin/neo4j-shell -readonly -host 127.0.0.1 -port 1337 -c export-graphml -t -o neo4j.graphml
~~~
À noter que ça nécessite l'installation d'un plugin Neo4j pour faire une sauvegarde/restauration via GraphML : <https://github.com/jexp/neo4j-shell-tools>
2023-06-28 10:36:51 +02:00
2016-12-29 11:25:39 +01:00
## Monitoring
2023-06-28 10:36:51 +02:00
Mettre en place un check HTTP Nagios sur <http://localhost:7474/db/manage> (en attendant mieux).