因果集群环境中的 neo4j-import 步骤示例
以下步骤用于描述如何在因果集群环境中使用 neo4j-import,并且该操作在单台 Linux 主机上运行,该主机安装了 3 份 Neo4j 3.1.2,路径如下
~/HA/ha1/neo4j-enterprise-3.1.2 ~/HA/ha2/neo4j-enterprise-3.1.2 ~/HA/ha3/neo4j-enterprise-3.1.2
这类似于 搭建本地因果集群 的说明
-
验证因果集群能够形成(在配置
$NEO4J_HOME/cond/neo4j.conf之后)并运行
~/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
这假设默认数据库为 graph.db
由于启动因果集群需要大量配置,我希望先确保它能够启动并使用空数据库运行。
-
通过以下命令停止因果集群
~/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
产生了如下输出
Stopping Neo4j..................................... stopped Stopping Neo4j.................................... stopped Stopping Neo4j..................................... stopped
-
解除绑定这 3 个因果集群数据库。(如果跳过 #1 和 #2,此步骤并非必需;但如果后续在集群形成时出现故障,则需要判断是集群配置问题还是数据库导入的问题)。进一步的解除绑定说明请参见 这里
$ ~/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
-
创建了 ~/HA/ha1/neo4j-enterprise-3.1.2/importer 并添加了 3 个文件,即 actors.csv、movies.csv、roles.csv,文件内容详见 这里
-
运行 neo4j-import 并将数据加载到 ~/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
产生了如下输出
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
-
更新了每个实例的 $NEO4J_HOME/conf/neo4j.conf(共 3 份),并定义了
# The name of the database to mount
dbms.active_database=graph.db.importer
因为这代表了由 neo4j-import 生成的数据库名称。
-
将实例 1 中的 graph.db.importer 复制到实例 2 与实例 3,使用
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
-
按如下方式启动全部 3 个实例
~/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
产生了如下输出
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.
在每个实例上运行 match (n) return n limit 10,全部实例报告共计 6 个节点,这与 neo4j-import 的输出相符,后者报告
Imported: 6 nodes 0 relationships 15 properties
-
在 Leader 上运行
create (n:Tester {id:105});
并验证该数据库已在 Leader 以及所有 Followers 上创建。
此页面有帮助吗?