Одна из первых вещей, которые я делаю после установки 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/bash curl -L https: //github .com /neo4j-contrib/neo4j-apoc-procedures/releases/download/3 .2.0.3 /apoc-3 .2.0.3-all.jar -O sudo 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 server Key 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 ports Instance 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:7474 User:neo4j, Password:<Instance Id> |
Нам нужно подождать несколько секунд, пока Neo4j раскрутится, но он будет доступен по указанному URI.
Как только он станет доступен, мы можем войти с именем пользователя neo4j и паролем
, Затем нам будет предложено выбрать новый пароль.
Затем мы можем выполнить следующий запрос, чтобы убедиться, что APOC установлен:
1
2
3
4
5
6
7
8
9
|
call dbms.procedures() YIELD name WHERE 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 Welcome 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 /neo4j Usage: /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-shell drwxr-xr-x 2 neo4j adm 4.0K May 11 22:13 tools |
Дайте мне знать, если это полезно, и если у вас есть какие-либо предложения / улучшения.
Опубликовано на Java Code Geeks с разрешения Марка Нидхэма, партнера нашей программы JCG . См. Оригинальную статью здесь: AWS: раскрутка экземпляра Neo4j с установленным APOC
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |