Одна из первых вещей, которые я делаю после установки Neo4j, — это установка библиотеки APOC , но я обнаружил, что при раскрутке сервера в AWS это немного ручной процесс, поэтому я хотел немного упростить его.
Уже есть Neo4j AMI, который устанавливает Neo4j 3.2.0, и мой коллега Майкл указал, что мы можем загрузить APOC в нужную папку, написав скрипт и отправив его как UserData .
Последние две недели я работал над JavaScript, поэтому решил автоматизировать все этапы с помощью библиотеки AWS. Вы можете найти полный скрипт на GitHub .
Часть сценария UserData на самом деле очень проста:
Этот сценарий создает пару ключей, группу безопасности, открывает эту группу безопасности на портах 22 (SSH), 7474 (HTTP), 7473 (HTTPS) и 7687 (Bolt). Созданный сервер — m3.medium , но вы можете изменить его на что-то другое, если хотите.
|
1
2
3
|
#!/bin/bashcurl -L https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/3.2.0.3/apoc-3.2.0.3-all.jar -Osudo cp apoc-3.2.0.3-all.jar /var/lib/neo4j/plugins/ |
Мы можем запустить его так:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
|
$ node neo4j-with-apoc.js Creating a Neo4j serverKey pair created. Save this to a file - you'll need to use it if you want to ssh into the Neo4j server-----BEGIN RSA PRIVATE KEY-----<Private key details>-----END RSA PRIVATE KEY-----Created Group Id:<Group Id>Opened Neo4j portsInstance Id: <Instance Id>Your Neo4j server is now ready!You'll need to login to the server and change the default password:https://ec2-ip-address.compute-1.amazonaws.com:7473 or http://ec2-ip-address.compute-1.amazonaws.com:7474User:neo4j, Password:<Instance Id> |
Нам нужно подождать несколько секунд, пока Neo4j раскрутится, но он будет доступен по указанному URI.
Как только он станет доступен, мы можем войти с именем пользователя neo4j и паролем
, Затем нам будет предложено выбрать новый пароль.
Затем мы можем выполнить следующий запрос, чтобы убедиться, что APOC установлен:
|
1
2
3
4
5
6
7
8
9
|
call dbms.procedures() YIELD nameWHERE name starts with "apoc"RETURN count(*) ╒══════════╕│"count(*)"│╞══════════╡│214 │└──────────┘ |
Круто, это сработало, и теперь мы можем Neo4j и APOC в свое удовольствие! Если мы хотим подключить SSH к серверу, мы можем это сделать, сначала сохранив закрытый ключ, напечатанный в командной строке, в файл, а затем выполнив следующую команду:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
$ cat aws-private-key.pem-----BEGIN RSA PRIVATE KEY-----<Private key details>-----END RSA PRIVATE KEY----- $ chmod 600 aws-private-key.pem $ ssh -i aws-private-key.pem ubuntu@ec2-ip-address.compute-1.amazonaws.comWelcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-1013-aws x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 106 packages can be updated.1 update is a security update. To run a command as administrator (user "root"), use "sudo <command>".See "man sudo_root" for details. |
Вы можете запустить / остановить neo4j, выполнив следующую команду:
|
1
2
|
$ /etc/init.d/neo4jUsage: /etc/init.d/neo4j {start|stop|status|restart|force-reload} |
Другие команды, которые вы можете найти в папке bin, можно найти здесь:
|
1
2
3
4
5
6
7
8
|
$ ls -lh /usr/share/neo4j/bin/total 48K-rwxr-xr-x 1 neo4j adm 15K May 9 09:22 neo4j-rwxr-xr-x 1 neo4j adm 5.6K May 9 09:22 neo4j-admin-rwxr-xr-x 1 root root 612 May 12 00:03 neo4j-awspasswd-rwxr-xr-x 1 neo4j adm 5.6K May 9 09:22 neo4j-import-rwxr-xr-x 1 neo4j adm 5.6K May 9 09:22 neo4j-shelldrwxr-xr-x 2 neo4j adm 4.0K May 11 22:13 tools |
Дайте мне знать, если это полезно, и если у вас есть какие-либо предложения / улучшения.
| Опубликовано на Java Code Geeks с разрешения Марка Нидхэма, партнера нашей программы JCG . См. Оригинальную статью здесь: AWS: раскрутка экземпляра Neo4j с установленным APOC
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |