2016-04-12 2 views
0

Ich verwendete eine bestimmte Bibliothek, die eine eingebettete Version von elasticsearch verwendete. Jetzt, wo wir wachsen, möchte ich elasticsearch als Dienstleistung starten.Elasticsearch: Ändern der Berechtigungen des alten Ordnerindex auf yum-installiertes elasticsearch

Ich folgte this guide, um es unter Verwendung yum auf einem Linux-Rechner zu installieren. Ich wies ES in das neue Verzeichnis mit

path: 
    logs: /home/ec2-user/.searchindex/logs 
    data: /home/ec2-user/.searchindex/data 

Wenn ich den Dienst

sudo service elasticsearch start 

ich eine Erlaubnis verweigert Fehler bekommen starten:

java.io.FileNotFoundException: /home/ec2-user/.searchindex/logs/elasticsearch_index_search_slowlog.log (Permission denied) 
    at java.io.FileOutputStream.open0(Native Method) 
.... 

Ich denke, das hat mit dem Ordner zu tun Erlaubnis, änderte ich Ordnererlaubnis unter Verwendung:

sudo chown elasticsearch:elasticsearch -R .searchindex 

Aber das hat nicht geholfen.

Irgendwelche Hilfe?

Antwort

0

Ihr Benutzer Elasticsearch kann nicht in den Protokollierungsordner schreiben: /home/ec2-user/.searchindex/logs

Überprüfen Sie die Berechtigungen mit ls -l

Set Schreibberechtigung mit dem Befehl chmod:
z.B. : sudo chmod -R u+wx .searchindex

+0

Ich benutzte 'Chown' und das machte keinen Unterschied. –

0

Das Problem trat auf, weil sich .searchindex im ec2-Benutzerverzeichnis befindet, das offensichtlich von elasticsearch Benutzer nicht zugänglich ist, der erstellt wurde, um den elasticsearch-Dienst zu verwalten.

Das Verschieben des Ordners auf /var/lib/elasticsearch hat den Trick gemacht.

Verwandte Themen