Кому-нибудь приходилось сталкиваться приходя на новое рабочее место в качестве системного администратора, а там дурдом. Тот человек всю компанию загнетал: Все закрыто, принтера под паролем, хочешь распечатать что-то введи пароль, хочешь взаимодействовать с сервисом в качестве ОС там FreeBSD и везде, а тормозит она будь здоров, плюс к этому даже в локальной сети доступ только по ключам, а не через связку логин и пароль, а люди взаимодействуют с сервисом только через WinSCP. Как по мне это излишне.

И я вот все буду переделывать на Ubuntu 18.04 Server, к тому же я все расписываю и это сможет поддерживать любой у меня в отделе. К примеру начну с сервиса под именованием neo4j. Сервис neo4j — какая-то система управления графовыми базами данных, цель которой оптимизированный поиск, управление, хранение. Якобы производительность в настоящий момент для разработчиков которых ворочают большими объемами данных.

Как по мне ничего из прочитанного об этой системе я если честно говоря не понял. Но может позже пойму.

Текущие характеристики:

VM on Debian 10 + Proxmox 6
CPU: 1
HDD: 50Gb
RAM: 2Gb
Ethernet: 1Gbit/s

ekzorchik@srv-bionic:~$ uname -a && lsb_release -a
Linux srv-bionic 4.15.0-72-generic #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
ekzorchik@srv-bionic:~$

Шаг №1: Перехожу в привилегированный режим.

ekzorchik@srv-bionic:~$ sudo su -

Шаг №2: Скачиваю публичный ключ, добавляю репозитарий и скачиваю самую последнюю версия:

root@srv-bionic:~# wget --no-check-certificate -O - https://debian.neo4j.org/neotechnology.gpg.key | apt-key add -
--2020-01-21 23:41:15-- https://debian.neo4j.org/neotechnology.gpg.key
Resolving debian.neo4j.org (debian.neo4j.org)... 52.20.85.181, 52.201.74.3
Connecting to debian.neo4j.org (debian.neo4j.org)|52.20.85.181|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6342 (6.2K) [application/octet-stream]
Saving to: ‘STDOUT’

- 100%[===================>] 6.19K --.-KB/s in 0s

2020-01-21 23:41:15 (1.07 GB/s) - written to stdout [6342/6342]

OK
root@srv-bionic:~#
root@srv-bionic:~# echo 'deb http://debian.neo4j.org/repo stable/' > /etc/apt/sources.list.d/neo4j.list

root@srv-bionic:~# apt-get update
root@srv-bionic:~# apt-cache show neo4j | grep Version | head -n1
Version: 1:3.5.14
root@srv-bionic:~#
root@srv-bionic:~# apt-get -y install neo4j

root@srv-bionic:~# exit
logout
ekzorchik@srv-bionic:~$

Шаг №3: Активирую подключение к системе с других систем, а не локально:

ekzorchik@srv-bionic:~$ sudo cp /etc/neo4j/neo4j.conf /etc/neo4j/neo4j.conf.backup
ekzorchik@srv-bionic:~$ sudo nano /etc/neo4j/neo4j.conf
dbms.directories.data=/var/lib/neo4j/data
dbms.directories.plugins=/var/lib/neo4j/plugins
dbms.directories.certificates=/var/lib/neo4j/certificates
dbms.directories.logs=/var/log/neo4j
dbms.directories.lib=/usr/share/neo4j/lib
dbms.directories.run=/var/run/neo4j
dbms.directories.import=/var/lib/neo4j/import
dbms.connector.bolt.enabled=true
dbms.connector.bolt.listen_address=172.33.33.6:7687
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=172.33.33.6:7474
dbms.connector.https.enabled=true
dbms.tx_log.rotation.retention_policy=1 days
dbms.jvm.additional=-XX:+UseG1GC
dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow
dbms.jvm.additional=-XX:+AlwaysPreTouch
dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions
dbms.jvm.additional=-XX:+TrustFinalNonStaticFields
dbms.jvm.additional=-XX:+DisableExplicitGC
dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
dbms.windows_service_name=neo4j
dbms.jvm.additional=-Dunsupported.dbms.udc.source=debian

После не забываем сохранить внесенные изменения.

Шаг №4: Перезапускаю сервис для применения изменений в файле neo4j.conf:

ekzorchik@srv-bionic:~$ sudo systemctl restart neo4j
ekzorchik@srv-bionic:~$ sudo systemctl status neo4j | head -n5
● neo4j.service - Neo4j Graph Database
Loaded: loaded (/lib/systemd/system/neo4j.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2020-01-21 23:51:26 MSK; 1s ago
Main PID: 3314 (java)
Tasks: 18 (limit: 4678)
ekzorchik@srv-bionic:~$

Шаг №5: Проверяю, а ожидает ли система соединения на порты взаимодействия:

ekzorchik@srv-bionic:~$ sudo netstat -tulpn | grep :7474

ekzorchik@srv-bionic:~$

увы вывода нет, как так сервис вроде работает, а как же к нему подключиться? Косяк с моей стороны, у меня адрес системы на которой разворачиваю сервис neo4j не 172.33.33.6, а 172.33.33.11 изменяю и перезапускаю:

ekzorchik@srv-bionic:~$ hostname -I
172.33.33.11
ekzorchik@srv-bionic:~$
ekzorchik@srv-bionic:~$ sudo nano /etc/neo4j/neo4j.conf
dbms.directories.data=/var/lib/neo4j/data
dbms.directories.plugins=/var/lib/neo4j/plugins
dbms.directories.certificates=/var/lib/neo4j/certificates
dbms.directories.logs=/var/log/neo4j
dbms.directories.lib=/usr/share/neo4j/lib
dbms.directories.run=/var/run/neo4j
dbms.directories.import=/var/lib/neo4j/import
dbms.connectors.default_listen_address=172.33.33.11
dbms.connector.bolt.enabled=true
dbms.connector.bolt.listen_address=172.33.33.11:7687
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=172.33.33.11:7474
dbms.connector.https.enabled=true
dbms.tx_log.rotation.retention_policy=1 days
dbms.jvm.additional=-XX:+UseG1GC
dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow
dbms.jvm.additional=-XX:+AlwaysPreTouch
dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions
dbms.jvm.additional=-XX:+TrustFinalNonStaticFields
dbms.jvm.additional=-XX:+DisableExplicitGC
dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
dbms.windows_service_name=neo4j
dbms.jvm.additional=-Dunsupported.dbms.udc.source=debian

После не забываем сохранить внесенные изменения.

ekzorchik@srv-bionic:~$ sudo systemctl restart neo4j && sudo systemctl status neo4j | head -n5
● neo4j.service - Neo4j Graph Database
Loaded: loaded (/lib/systemd/system/neo4j.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2020-01-22 00:00:43 MSK; 16ms ago
Main PID: 15759 (bash)
Tasks: 1 (limit: 4678)
ekzorchik@srv-bionic:~$
ekzorchik@srv-bionic:~$ sudo netstat -tulpn | grep :7474
tcp6 0 0 172.33.33.11:7474 :::* LISTEN 15759/java
ekzorchik@srv-bionic:~$

Отлично, порт ожидает соединения.

Шаг №6: Произвожу подключение через браузер к графовой базе данных со своего рабочего места (OS: Ubuntu 18.04 Desktop amd64 on Lenovo E555) через вкладке с URL-адресом вида:

http://IP&DNS:7474 && http://172.33.33.11:7474

Произвожу подключение через браузер к графовой базе данных

Авторизуюсь:

  • Connection URL: bolt://172.33.33.11:7687
  • Authentication type: Username / Password
  • Username: ввожу neo4j
  • Password: ввожу neo4j

и нажимаю Connect, далее мне предлагается задать новый пароль, задаю его как 712mbddr@ и нажимаю Change password

Изменяю пароль на доступ к Neo4j

После чего вижу запущенный сервис и я к нему подключен

После чего вижу запущенный сервис и я к нему подключен

И теперь уже можно как-то с ним работать, а как покажут задачи которые мне возможно придется делать.

Так я хотя бы знаю как система Neo4j устанавливается.

Для последующей задачи данная заметка будет нужна. Пока не этом все, с уважением автор блога Олло Александр aka ekzorchik.