2016-05-15 10 views
1

Ich habe kürzlich erfolgreich eine neue neo4j-Datenbank mit dem Import-Tool erstellt. Nun möchte ich eigentlich auf die Datenbank auf meinem Ubunutu-Laptop zugreifen.Wie Sie Berechtigungen in Neo4j einrichten?

Um dies zu tun, habe ich conf/neo4j-server.properties entsprechend bearbeitet, um auf den richtigen Ort zu zeigen.

Nach sudo service neo4j-service start versucht, erhalte ich die Fehler

WARNING: Max 1024 open files allowed, minimum of 40 000 recommended. See the Neo4j manual. 
Starting Neo4j Server...WARNING: not changing user 
process [10810]... waiting for server to be ready.. Failed to start within 120 seconds. 
Neo4j Server may have failed to start, please check the logs. 

ich die Protokolle zu überprüfen, und ich sehe viel zu Berechtigungen zu beschweren.

aus den Protokollen,

2016-05-15 01:58:31.143-0700 ERROR Failed to start Neo4j: Starting Neo4j failed: Component '[email protected]' was successfully initialized, but failed to start. Please see attached cause exception. 
... 
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied) 
... 
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied) 
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied) 

googeln herum, ich sehe, dass einige andere dieses Problem gehabt haben.

Allerdings bin ich mir nicht sicher, wie weiter zu machen, da ich das Problem nicht vollständig verstehe. Ich verstehe nicht, wie neo4j verwendet werden soll. Wann und wo wird der Benutzer angegeben? Muss ich irgendwo eine Neo4J-Konfigurationsdatei ändern, um mir die Erlaubnis zu geben? Oder muss ich die Berechtigungen für das gerade erstellte Verzeichnis ändern ... und wenn ja, woher weiß ich, an welchen Benutzer ich es ändern soll?

Ich bin daran interessiert, mehr darüber zu verstehen, wie Neo4j in dieser Situation konfiguriert ist, nicht nur, wie es für mich funktioniert. Jeder Rat sehr geschätzt.

Antwort

2

Neo4j, das als Dienst ausgeführt wird, muss Eigentümer des Ordners sein, in dem Sie die Datenbank platziert haben (z. B. /var/lib/neo4j/data). Ihre Datenbank befindet sich an einer anderen Stelle, und nur Sie haben derzeit Zugriff (da Sie, der angemeldete Benutzer, diesen Datenbankordner erstellt haben).

Versuchen Sie Berechtigungen für den gesamten Datenordner (rekursiv), mit wechselnden:

sudo chown -R neo4j:adm /home/monica/new_database_directory

Wenn man sich den vorhandenen/var/lib/Neo4j Ordnern, sollte das Eigentum, dass (neo4j:adm) entspricht. Nachdem Sie den Befehl chown ausgeführt haben, sollte Ihr neuer Datenordner denselben Besitz haben.

Versuchen Sie dann, den Dienst erneut zu starten.

0

Können Sie Ihre Protokolle hier einfügen?

Wenn ich raten musste, es geht nicht um neo4j Berechtigungen, sondern Dateiberechtigungen. Können Sie überprüfen, dass der neo4j-Server (wahrscheinlich der neo4j-Benutzer) über die richtigen Berechtigungen für den Datenpfad verfügt?

+0

Wie kann ich herausfinden, welches Konto für die Ausführung von neo4j konfiguriert ist? Ich denke ich benutze es unter meinem normalen Benutzernamen. Ich habe mit Standardeinstellungen installiert. Und ich bekomme 'WARNING: not changing user' beim Start, was meiner Meinung nach bedeutet, dass ich nicht der root-Benutzer bin. –

+0

Und ja, ich habe meine Logs eingefügt! –