Elasticsearch: Unterschied zwischen den Versionen
(neu) |
|||
Zeile 1: | Zeile 1: | ||
= Elasticsearch = | = Elasticsearch = | ||
Elasticsearch ist ein weit verbreiteter Suchserver für die Indizierung von Volltext oder von Log-Dateien. | |||
Nach einer Lizenzänderung ist Elasticsearch leider keine freie Software im Sinne der Opensource Initiative (OSI) mehr. | |||
Dieses Dokument leitet zur Installation eines Elasticsearch-Server an, der am Localhost-Interface erreichbar ist und für Anwendungen auf dem Server (zum Beispiel [[Nextcloud]] mit Volltextsuche) genutzt werden kann. Durch eine Proxy-Konfiguration in einer ''.htaccess''-Datei kann der Server über das Internet erreichbar gemacht werden. | |||
== Installation == | |||
Für den Dienst wird in HSAdmin ein eigener Shell-User ''xyz00-elastic'' mit der Shell ''/bin/bash'' angelegt. | |||
Im ersten Schritt wird die Software (als ''tar.gz''-Archiv) heruntergeladen und entpackt. | |||
wget "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-linux-x86_64.tar.gz" | |||
tar xzf elasticsearch-7.13.0-linux-x86_64.tar.gz | |||
rm elasticsearch-7.13.0-linux-x86_64.tar.gz | |||
In der Konfigurationdatei ''~/elasticsearch-7.13.0/config/elasticsearch.yml'' werden vier Optionen gesetzt. die beiden Ports, auf denen das System erreichbar ist und die ''security''-Option für das Passwort-Login. | |||
http.port: 39200 | |||
transport.tcp.port: 39202 | |||
xpack.security.enabled: true | |||
discovery.type: single-node | |||
Dann wird der Dienst provisorisch gestartet. | |||
cd elasticsearch-7.13.0/ | |||
ES_JAVA_OPTS="-Xms1g -Xmx1g" ./bin/elasticsearch | |||
In einer zweiten Shell erzeuge ich mit dem Kommando ''elasticsearch-setup-passwords'' zufällige Passworte für die vordefinierten Account in Elasticsearch: | |||
cd elasticsearch-7.13.0/ | |||
./bin/elasticsearch-setup-passwords auto | |||
Die Ausgabe mit den generierten Passworten sichern! | |||
== Monitoring == | |||
Ein Start- und ein Stop-Skript und eine Monit-Konfiguration sorgen für den automatischen Start des Dienstes nach einem Reboot. | |||
''~/bin/start-elastic'' | |||
#!/bin/bash | |||
export HOME=/home/pacs/xyz00/users/elastic | |||
export ES_JAVA_OPTS="-Xms1g -Xmx1g" | |||
cd $HOME | |||
mkdir -p $HOME/var | |||
cd $HOME/elasticsearch-7.13.0 | |||
exec ./bin/elasticsearch & | |||
echo $! >$HOME/var/elasticsearch.pid | |||
''~/bin/stop-elastic'' | |||
#!/bin/bash | |||
export HOME=/home/pacs/xyz00/users/elastic | |||
kill $( cat $HOME/var/elasticsearch.pid ) | |||
''~/.monitrc'' | |||
set daemon 60 with start delay 10 | |||
set logfile /home/pacs/xyz00/users/elastic/var/monit.log | |||
set idfile /home/pacs/xyz00/users/elastic/var/monit.id | |||
set statefile /home/pacs/xyz00/users/elastic/var/monit.state | |||
set mailserver localhost | |||
set mail-format { from: monit@xyz00.hostsharing.net } | |||
set httpd port 39008 address localhost | |||
allow elasticadmin:ein-monit-passwort | |||
check process elasticsearch with pidfile /home/pacs/peh97/users/elastic/var/elasticsearch.pid | |||
start program "/home/pacs/xyz00/users/elastic/bin/start-elastic" | |||
stop program "/home/pacs/xyz00/users/elastic/bin/stop-elastic" | |||
Version vom 1. Juni 2021, 16:41 Uhr
Elasticsearch
Elasticsearch ist ein weit verbreiteter Suchserver für die Indizierung von Volltext oder von Log-Dateien. Nach einer Lizenzänderung ist Elasticsearch leider keine freie Software im Sinne der Opensource Initiative (OSI) mehr.
Dieses Dokument leitet zur Installation eines Elasticsearch-Server an, der am Localhost-Interface erreichbar ist und für Anwendungen auf dem Server (zum Beispiel Nextcloud mit Volltextsuche) genutzt werden kann. Durch eine Proxy-Konfiguration in einer .htaccess-Datei kann der Server über das Internet erreichbar gemacht werden.
Installation
Für den Dienst wird in HSAdmin ein eigener Shell-User xyz00-elastic mit der Shell /bin/bash angelegt.
Im ersten Schritt wird die Software (als tar.gz-Archiv) heruntergeladen und entpackt.
wget "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-linux-x86_64.tar.gz" tar xzf elasticsearch-7.13.0-linux-x86_64.tar.gz rm elasticsearch-7.13.0-linux-x86_64.tar.gz
In der Konfigurationdatei ~/elasticsearch-7.13.0/config/elasticsearch.yml werden vier Optionen gesetzt. die beiden Ports, auf denen das System erreichbar ist und die security-Option für das Passwort-Login.
http.port: 39200 transport.tcp.port: 39202 xpack.security.enabled: true discovery.type: single-node
Dann wird der Dienst provisorisch gestartet.
cd elasticsearch-7.13.0/ ES_JAVA_OPTS="-Xms1g -Xmx1g" ./bin/elasticsearch
In einer zweiten Shell erzeuge ich mit dem Kommando elasticsearch-setup-passwords zufällige Passworte für die vordefinierten Account in Elasticsearch:
cd elasticsearch-7.13.0/ ./bin/elasticsearch-setup-passwords auto
Die Ausgabe mit den generierten Passworten sichern!
Monitoring
Ein Start- und ein Stop-Skript und eine Monit-Konfiguration sorgen für den automatischen Start des Dienstes nach einem Reboot.
~/bin/start-elastic
#!/bin/bash export HOME=/home/pacs/xyz00/users/elastic export ES_JAVA_OPTS="-Xms1g -Xmx1g" cd $HOME mkdir -p $HOME/var cd $HOME/elasticsearch-7.13.0 exec ./bin/elasticsearch & echo $! >$HOME/var/elasticsearch.pid
~/bin/stop-elastic
#!/bin/bash export HOME=/home/pacs/xyz00/users/elastic kill $( cat $HOME/var/elasticsearch.pid )
~/.monitrc
set daemon 60 with start delay 10 set logfile /home/pacs/xyz00/users/elastic/var/monit.log set idfile /home/pacs/xyz00/users/elastic/var/monit.id set statefile /home/pacs/xyz00/users/elastic/var/monit.state set mailserver localhost set mail-format { from: monit@xyz00.hostsharing.net } set httpd port 39008 address localhost allow elasticadmin:ein-monit-passwort check process elasticsearch with pidfile /home/pacs/peh97/users/elastic/var/elasticsearch.pid start program "/home/pacs/xyz00/users/elastic/bin/start-elastic" stop program "/home/pacs/xyz00/users/elastic/bin/stop-elastic"