Ubuntu バージョン Neo4j データベースのインストール成功チュートリアル
多くの情報を確認し、インストールを試みてエラーを報告し続けた後、neo4j は最終的に成功したので、Neo4j グラフ データベースのインストール方法、環境構成、サービスのインストール方法を記録します。
以下の環境にインストールしてください
- ubuntu 20.04.1
- Javaシステムのデフォルト8
対象インストール:
- neo4j-コミュニティ-4.2.19
1. Neo4jをダウンロード
公式サイトからコミュニティ版neo4j-community-4.2.19をダウンロードしますので、ダウンロードを間違えないように注意してください。
https://neo4j.com/download-center/#community
その後、それをシステムの /usr/local の場所に置きます。自由に選択してカスタマイズできます。(私のようにここにインストールする場合は、sudo を使用して neo4j を起動する必要があります。そうしないと、以下の 3 番目のポイントが表示され、エラーが表示されます。)
圧縮パッケージをこのディレクトリに解凍します。
tar -xzvf neo4j-community-4.2.19-unix.tar.gz
2.JDK11のダウンロード
neo4j を動作させるには、neo4j のバージョンに応じて jdk をインストールする必要があります。ここで何度か試したり、インターネット上の面倒な投稿を読んだりしました。最後に、neo4j-community-4.2.19 に従って、JDK11 をインストールして正常にインストールされました。
インストール中は、エラーメッセージからneo4j 4.x版がインストールされていると推測され、JDK11をインストールする必要があります。その他のバージョン番号は別のJDKです。ネット上の投稿を見るとneo4j 3.x版をインストールする必要があるようです。JDK8(まだ試していません、確認済みです)
# 下载安装jdk11
sudo apt install openjdk-11-jdk
# 配置环境
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 # 这边首先需要自己确定一下路径是不是这个/usr/lib/jvm/java-1.11.0-openjdk-amd64
export JRE_HOME=${
JAVA_HOME}/jre
export CLASSPATH=.:${
JAVA_HOME}/lib:${
JRE_HOME}/lib
export PATH=$NEO4J_HOME/bin
それから入力してください
java -version
jdkのバージョンが11.0.16に変わっていることがわかります。
3. 設定を変更して Neo4j を起動します
Neo4j の conf ディレクトリに移動します。ここでは cd /usr/local/neo4j-community-4.2.19/conf/ です。
sudo vim neo4j.conf
次のように変更します。
# 修改23行,去掉 #号
dbms.directories.import=import # 可从任意路径读取文件
# 修改71行,去掉 #号
dbms.connectors.default_listen_address=0.0.0.0 #修改为远程通过ip访问neo4j数据库
# 默认bolt端口是7687,http端口是7474,https端口是7473,不修改下面3项也可以
# 端口可以自定义,只要不和其他端口冲突就行
# 修改92行,去掉 #号
dbms.connector.bolt.listen_address=:7687 #修改为bolt端口为7687
# 修改97行,去掉 #号
dbms.connector.http.listen_address=:7474 #修改为http端口为7474
# 修改102行,去掉 #号
dbms.connector.https.listen_address=:7473 #修改为https端口为7473
# 修改230行,去掉 #号
dbms.security.allow_csv_import_from_file_urls=true # 允许从远程的url,来载入csv文件
保存して終了し、Neo4j の bin ディレクトリに移動します。ここでは cd /usr/local/neo4j-community-4.2.19/bin/ です。
開始コマンド
./neo4j console
#其他命令,启动服务,停止服务,重启服务、查询服务的状态
./neo4j start
./neo4j stop
./neo4j restart
./neo4j status
私の側では /usr/local ディレクトリにインストールされていたため、最初はエラーを報告し続けましたが、インターネット上には関連する回答がありませんでした。
最初はしばらく考えましたが、解決策が思いつかなかったり、解決策が見られなかったりして、最終的には権限の問題だと推測しました。
ここで sudo を実行すると解決できます。
sudo ./neo4j console
エラーは次のとおりです。
2022-09-22 09:43:07.833+0000 INFO Starting...
ERROR StatusLogger RollingFileManager (/usr/local/neo4j-community-4.2.19/logs/debug.log) java.io.FileNotFoundException: /usr/local/neo4j-community-4.2.19/logs/debug.log (Permission denied)
java.io.FileNotFoundException: /usr/local/neo4j-community-4.2.19/logs/debug.log (Permission denied)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:158)
at org.neo4j.logging.shaded.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:746)
at org.neo4j.logging.shaded.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:716)
at org.neo4j.logging.shaded.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:114)
at org.neo4j.logging.shaded.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
at org.neo4j.logging.shaded.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
at org.neo4j.logging.shaded.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146)
at org.neo4j.logging.log4j.LogConfig.createRollingFileAppender(LogConfig.java:183)
at org.neo4j.logging.log4j.LogConfig.getAppender(LogConfig.java:152)
at org.neo4j.logging.log4j.LogConfig.configureLogging(LogConfig.java:105)
at org.neo4j.logging.log4j.LogConfig$Builder.build(LogConfig.java:293)
at org.neo4j.graphdb.factory.module.GlobalModule.createLogService(GlobalModule.java:337)
at org.neo4j.graphdb.factory.module.GlobalModule.<init>(GlobalModule.java:174)
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.createGlobalModule(DatabaseManagementServiceFactory.java:252)
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:126)
at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:36)
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:134)
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:90)
at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:35)
2022-09-22 09:43:07.874+0000 ERROR Failed to start Neo4j on dbms.connector.http.listen_address, a socket address. If missing port or hostname it is acquired from dbms.default_listen_address.
java.lang.IllegalStateException: ManagerFactory [org.neo4j.logging.shaded.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@3e792ce3] unable to create manager for [/usr/local/neo4j-community-4.2.19/logs/debug.log] with data [org.neo4j.logging.shaded.log4j.core.appender.rolling.RollingFileManager$FactoryData@53bc1328[pattern=/usr/local/neo4j-community-4.2.19/logs/debug.log.%i, append=true, bufferedIO=true, bufferSize=8192, policy=SizeBasedTriggeringPolicy(size=20971520), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=false), advertiseURI=null, layout=org.neo4j.logging.log4j.Neo4jLogLayout@26f143ed, filePermissions=null, fileOwner=null]]
at org.neo4j.logging.shaded.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:116) ~[neo4j-logging-4.2.19.jar:4.2.19]
at org.neo4j.logging.shaded.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100) ~[neo4j-logging-4.2.19.jar:4.2.19]
at org.neo4j.logging.shaded.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217) ~[neo4j-logging-4.2.19.jar:4.2.19]
at org.neo4j.logging.shaded.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146) ~[neo4j-logging-4.2.19.jar:4.2.19]
at org.neo4j.logging.log4j.LogConfig.createRollingFileAppender(LogConfig.java:183) ~[neo4j-logging-4.2.19.jar:4.2.19]
at org.neo4j.logging.log4j.LogConfig.getAppender(LogConfig.java:152) ~[neo4j-logging-4.2.19.jar:4.2.19]
at org.neo4j.logging.log4j.LogConfig.configureLogging(LogConfig.java:105) ~[neo4j-logging-4.2.19.jar:4.2.19]
at org.neo4j.logging.log4j.LogConfig$Builder.build(LogConfig.java:293) ~[neo4j-logging-4.2.19.jar:4.2.19]
at org.neo4j.graphdb.factory.module.GlobalModule.createLogService(GlobalModule.java:337) ~[neo4j-4.2.19.jar:4.2.19]
at org.neo4j.graphdb.factory.module.GlobalModule.<init>(GlobalModule.java:174) ~[neo4j-4.2.19.jar:4.2.19]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.createGlobalModule(DatabaseManagementServiceFactory.java:252) ~[neo4j-4.2.19.jar:4.2.19]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:126) ~[neo4j-4.2.19.jar:4.2.19]
at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:36) ~[neo4j-4.2.19.jar:4.2.19]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:134) [neo4j-4.2.19.jar:4.2.19]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:90) [neo4j-4.2.19.jar:4.2.19]
at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:35) [neo4j-4.2.19.jar:4.2.19]
2022-09-22 09:43:07.878+0000 INFO Neo4j Server shutdown initiated by request
2022-09-22 09:43:07.878+0000 INFO Stopped.
これで完了です。