neo4j Enterprise Setup

AWS EC2์—์„œ ์„ค์น˜๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค ์œ ํ˜•์€ ์ž์‹ ์˜ ์‚ฌ์–‘์— ๋งž๊ฒŒ ์„ค์น˜๋ฅผ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ €์˜ ์‚ฌ์–‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

My instance type: t2.2xlarge OS version : Ubuntu 18.0.4

๊ทธ๋Ÿผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์„ค์น˜๋ฅผ ์ง„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์„ค์น˜์ง„ํ–‰์ˆœ์„œ๋Š” ๋ฒˆํ˜ธ์ˆœ๋Œ€๋กœ ์ง„ํ–‰ํ•˜์‹œ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

neo4j Infra

1. Download

์„ค์น˜ํ•  ๋ชฉ๋ก์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. neo4j enterprise-4.2.11

  2. neo4j bloom

  3. neo4j apoc

์ด์ œ ํ•˜๋‚˜์”ฉ ๋‹ค์šด๋ฐ›์•„๋ณด์ž.

neo4j enterprise-4.2.11 download

sudo wget https://neo4j.com/artifact.php?name=neo4j-enterprise-4.2.11-unix.tar.gz

neo4j bloom download

sudo wget https://s3.eu-west-2.amazonaws.com/bloom-releases/neo4j-bloom-1.8.2.zip

neo4j apoc download

sudo wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/4.3.0.3/apoc-4.3.0.3-all.jar

tar -xvf 'artifact.php?name=neo4j-enterprise-4.2.11-unix.tar.gz'

2. Install OPEN-JDK on Ubuntu

sudo apt update
sudo apt install openjdk-11-jre-headless

3. Setting up Java Environment on Ubuntu

ํ˜„์žฌ javaํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์•„๋งˆ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค.

echo $JAVA_HOME

์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

javac -version
#javac 11.0.11
which javac
#/usr/bin/javac

readlink ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด javac์˜ ์‹ค์ œ ์œ„์น˜๋ฅผ ์ฐพ๋Š”๋‹ค.

readlink -f /usr/bin/javac

#์ถœ๋ ฅ์˜ˆ
#/usr/lib/jvm/java-11-openjdk-amd64/bin/javac

profile ๋ถ€๋ถ„์— readlink ๋กœ ๋‚˜์˜จ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

vi /etc/profile

๋ฌธ์„œ ํ•˜๋‹จ์— export๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))~~##

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/javac

์„ค์ •์„ ๋งˆ์น˜๊ณ  :wq ๋ฅผ ๋ˆŒ๋Ÿฌ vi ์ฐฝ์„ ๋‚˜์˜จ ํ›„ reboot์„ ํ•œ๋‹ค.

sudo reboot

5๋ถ„ ํ›„ putty๋‚˜ xshell์„ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ์žฌ์ ‘์†ํ•˜์—ฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ์ œ๋Œ€๋กœ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

echo $JAVA_HOME
#์ถœ๋ ฅ์˜ˆ์‹œ
#/usr/lib/jvm/java-11-openjdk-amd64/bin/javac

4. Setting up Neo4j Environment

Neo4j Enterprsie ์„ค์น˜๊ฒฝ๋กœ๋กœ ์ด๋™ํ•œ ๋‹ค์Œ cofig ๊ฒฝ๋กœ neo4j.config ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ๋‹ค.

cd /home/ubuntu/neo4j-enterprise-4.3.5
sudo vi ./conf/neo4j.conf

๊ธฐ์กด์— ๋ฉ”๋ชจ๋ฆฌ์™€ cache size, ์ ‘์† IP๋Œ€์—ญ์ด ๋ชจ๋‘ ์ฃผ์„์ฒ˜๋ฆฌ๊ฐ€ ๋˜์–ด์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ฃผ์„์„ ํ•ด์ œํ•œ๋‹ค.

์ฃผ์„ํ•ด์ œ๋ฐฉ๋ฒ•์€ #์„ ์ง€์šฐ๋ฉด ๋œ๋‹ค.

Heap๋ฉ”๋ชจ๋ฆฌ์™€ cache size์›ํ•˜๋Š” ํฌ๊ธฐ์— ๋งž๊ฒŒ ์„ค์ •ํ•œ๋‹ค.

๋ณดํ†ต heap size๋Š” ์ž์‹ ์˜ ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ์˜ 50%๊นŒ์ง€ ์„ค์ •ํ•ด์ฃผ๊ณ , cache size๋Š” 3๋ถ„์˜1 ์ •๋„? ์„ค์ •ํ•ด์ฃผ๋ฉด ๋˜๋Š”๊ฒƒ ๊ฐ™๋‹ค. ๋‚˜์˜ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ 32G๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ณด๋‹ˆ Heapsize๋ฅผ 16G, Pagecachesize๋Š” 10g ๊นŒ์ง€ ์„ค์ •ํ–ˆ๋‹ค.

# ์ฃผ์„ ์ œ๊ฑฐ๋ฐฉ๋ฒ•์€ #์„ ์ง€์šฐ๋ฉด ๋˜์š”.
dbms.memory.heap.initial_size=512m
dbms.memory.heap.max_size=12g 
dbms.memory.pagecache.size=10g
dbms.default_listen_address=0.0.0.0 

๋‹ค์Œ ์ ‘์†ํ•  IP๋Œ€์—ญ์„ ์ˆ˜์ •ํ•œ๋‹ค.

์ด๊ฒƒ์œผ๋กœ neo4j config ์ˆ˜์ •์„ ๋งˆ์ณค๋‹ค.

๋‹ค์Œ์€ neo4j๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ๊ฒƒ์ด๋‹ค.

5. Run Neo4j

enterprise ์„ค์น˜ํ–ˆ๋˜ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•œ ๋‹ค์Œ neo4j enterprise ๋ฒ„์ „์„ ์‹คํ–‰์‹œํ‚จ๋‹ค.

cd /home/ubuntu/neo4j-enterprise-4.3.5

sudo bin/neo4j console

์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰์ด๋œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.

์ œ๋Œ€๋กœ neo4j browser๊ฐ€ ์ ‘์†๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

Google Chrome์—์„œ ์ฃผ์†Œ์ฐฝ์— ์„ค์น˜ํ–ˆ๋˜ neo4j enterprise์˜ Public IP ์™€ 7474 port๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด AWS ํผ๋ธ”๋ฆญ IP๊ฐ€ 1.1.1.1 ์ด๋ผ๋ฉด ์ฃผ์†Œ์ฐฝ์— 1.1.1.1:7474 ์ž…๋ ฅํ•˜๋ฉด๋œ๋‹ค.

ํ˜น์‹œ AWS๊ฐ€ ์•„๋‹Œ ์ž์‹ ์˜ ๋…ธํŠธ๋ถ, ์„œ๋ฒ„์— ์„ค์น˜ํ•œ ์‚ฌ๋žŒ์ด๋ผ๋ฉด

localhost:7474 ๋ฅผ ์ฃผ์†Œ์ฐฝ์— ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

์ œ๋Œ€๋กœ ์ ‘์†์ด ๋œ๋‹ค๋ฉด login ํ™”์ด ๋‚˜์˜จ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ ‘์†์ด ์•ˆ๋˜๋Š”๋ถ„์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ž์‹ ์˜ ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

EC2 ํŽ˜์ด์ง€๋กœ ๋“ค์–ด๊ฐ€ ์„ค์น˜ํ–ˆ๋˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ณด์•ˆ์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

๋ณด์•ˆ์— ๋“ค์–ด๊ฐ€ inbound ์ •์ฑ…์„ ๋ณ€๊ฒฝํ•˜๋Š”๋ฐ , ์•„๋งˆ SSH๋ฅผ ์ œ์™ธํ•˜๊ณ  all deny๋กœ ์„ค์ •๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๊ธฐ๋ณธ์ •์ฑ…์ด ๊ทธ๋Ÿฌํ•˜๋‹ค.

๋”ฐ๋ผ์„œ TCP port 7474์™€ TCP port 7687๋ฅผ openํ•˜๋„๋ก ๋“ฑ๋กํ•œ๋‹ค.

๋“ฑ๋ก์„ ํ–ˆ๋‹ค๋ฉด ๋‹ค์‹œ ์ฃผ์†Œ์ฐฝ์— IP์™€ port๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ ‘์†์ด ๋  ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ๋กœ๊ทธ์ธํ™”๋ฉด์ด ๋‚˜์˜ค๊ณ  ID ๋Š” neo4j ํŒจ์Šค์›Œ๋“œ๋„ neo4j ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

๊ทธ๋‹ค์Œ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ผ๊ณ  ๋‚˜์˜ค๋ฉด ์ž์‹ ์˜ ๊ธฐํ˜ธ์— ๋งž๊ฒŒ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์žฌ๋กœ๊ทธ์ธํ•œ๋‹ค.

์ •์ƒ์ ์œผ๋กœ ๋กœ๊ทธ์ธ์ด ๋˜๋ฉด ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด neo4j browser๊ฐ€ ์‹คํ–‰๋  ๊ฒƒ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๋ฏธ์„ค์น˜๋œ 2๊ฐœ์˜ ์„œ๋ฒ„๋„ ๋™์ผํ•˜๊ฒŒ 1๋ฒˆ๋ถ€ํ„ฐ 4๋ฒˆ์˜ ๋ชฉ์ฐจ๋ฅผ ๋”ฐ๋ผ ์ฐจ๋ก€๋Œ€๋กœ ์žฌ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

Last updated

Was this helpful?