An example of neo4j-import steps in a Causal Cluster environment
The following steps are provided to describe how to use neo4j-import in a Causal Cluster environment and was run from an environment of a single linux host with 3 copies for Neo4j 3.1.2 installed in the following paths
~/HA/ha1/neo4j-enterprise-3.1.2 ~/HA/ha2/neo4j-enterprise-3.1.2 ~/HA/ha3/neo4j-enterprise-3.1.2
This is similar to the instructions for Set up a local Causal Cluster
-
validated a Causal Cluster would form (after configuring
$NEO4J_HOME/cond/neo4j.conf
) and ran
~/HA/ha1/neo4j-enterprise-3.1.2/bin/neo4j start; ~/HA/ha2/neo4j-enterprise-3.1.2/bin/neo4j start;
~/HA/ha3/neo4j-enterprise-3.1.2/bin/neo4j start
this assumes the default database of graph.db
Since starting a Causal Cluster takes a number of configurations I wanted to ensure that it would at least start and with an empty database.
-
stopped the causal cluster by by running
~/HA/ha1/neo4j-enterprise-3.1.2/bin/neo4j stop; ~/HA/ha2/neo4j-enterprise-3.1.2/bin/neo4j stop;
~/HA/ha3/neo4j-enterprise-3.1.2/bin/neo4j stop
which produced the following output
Stopping Neo4j..................................... stopped Stopping Neo4j.................................... stopped Stopping Neo4j..................................... stopped
-
unbound each of the 3 causal cluster databases. (this is not necessary if you skip #1 and #2 but if you have failure further on with getting the cluster to form then you need to sort out if it is a cluster configuration issue or something about the database import). Further unbind is detailed here
$ ~/HA/ha2/neo4j-enterprise-3.1.2/bin/neo4j-admin unbind --database=graph.db
$ ~/HA/ha1/neo4j-enterprise-3.1.2/bin/neo4j-admin unbind --database=graph.db
$ ~/HA/ha3/neo4j-enterprise-3.1.2/bin/neo4j-admin unbind --database=graph.db
-
created ~/HA/ha1/neo4j-enterprise-3.1.2/importer and added 3 files namely actors.csv, movies.csv, roles.csv and they are defined with content detailed here
-
ran neo4j-import and loaded the data into ~/HA/ha1/neo4j-enterprise-3.1.2/data/databases/graph.db.importer
~/HA/ha1/neo4j-enterprise-3.1.2/bin/neo4j-import --into ~/HA/ha1/neo4j-enterprise-3.1.2/data/databases/graph.db.importer --nodes ~/HA/ha1/neo4j-enterprise-3.1.2/importer/movies.csv --nodes ~/HA/ha1/neo4j-enterprise-3.1.2/importer/actors.csv --relationships ~/HA/ha1/neo4j-enterprise-3.1.2/importer/roles.csv
and this produced the following output
WARNING: neo4j-import is deprecated and support for it will be removed in a future version of Neo4j; please use neo4j-admin import instead. Neo4j version: 3.1.2 Importing the contents of these files into /home/neo4j/HA/ha1/neo4j-enterprise-3.1.2/data/databases/graph.db.importer: Nodes: /home/neo4j/HA/ha1/neo4j-enterprise-3.1.2/importer/movies.csv /home/neo4j/HA/ha1/neo4j-enterprise-3.1.2/importer/actors.csv Relationships: /home/neo4j/HA/ha1/neo4j-enterprise-3.1.2/importer/roles.csv Available resources: Free machine memory: 5.01 GB Max heap memory : 1.47 GB Processors: 1 Nodes Done in 100ms Prepare node index Done in 26ms Calculate dense nodes Done in 43ms Node --> Relationship Sparse Done in 10ms Relationship --> Relationship Sparse Done in 11ms Minority relationships Done in 32ms Count groups Done in 10ms Gather Done in 11ms Write Done in 10ms Node --> Group Done in 11ms Node counts Done in 53ms Relationship counts Done in 11ms IMPORT DONE in 1s 881ms. Imported: 6 nodes 0 relationships 15 properties Peak memory usage: 7.63 MB
-
updated each of the 3
$NEO4J_HOME/conf/neo4j.conf
and defined the
# The name of the database to mount
dbms.active_database=graph.db.importer
as this represents the name of the database prepared from neo4j-import.
-
copy the graph.db.importer from instance 1 to instance 2 and 3 via a
cp -R ~/HA/ha1/neo4j-enterprise-3.1.2/data/databases/graph.db.importer ~/HA/ha2/neo4j-enterprise-3.1.2/data/databases/graph.db.importer
cp -R ~/HA/ha1/neo4j-enterprise-3.1.2/data/databases/graph.db.importer ~/HA/ha3/neo4j-enterprise-3.1.2/data/databases/graph.db.importer
-
start all 3 instances as follows
~/HA/ha1/neo4j-enterprise-3.1.2/bin/neo4j start; ~/HA/ha2/neo4j-enterprise-3.1.2/bin/neo4j start;
~/HA/ha3/neo4j-enterprise-3.1.2/bin/neo4j start
which produces the following output:
Starting Neo4j. Started neo4j (pid 3976). It is available at http://0.0.0.0:7414/ There may be a short delay until the server is ready. See /home/neo4j/HA/ha1/neo4j-enterprise-3.1.2/logs/neo4j.log for current status. Starting Neo4j. Started neo4j (pid 4040). It is available at http://0.0.0.0:7424/ There may be a short delay until the server is ready. See /home/neo4j/HA/ha2/neo4j-enterprise-3.1.2/logs/neo4j.log for current status. Starting Neo4j. Started neo4j (pid 4104). It is available at http://0.0.0.0:7434/ There may be a short delay until the server is ready. See /home/neo4j/HA/ha3/neo4j-enterprise-3.1.2/logs/neo4j.log for current status.
ran match (n) return n limit 10
on each of the 3 instances and all reported a total of 6 nodes, which corresponds to the
output of neo4j-import which reports
Imported: 6 nodes 0 relationships 15 properties
-
From the leader I ran:
create (n:Tester {id:105});
and validated it was created on the leader as well as the followers.
Was this page helpful?