Elasticsearch: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(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"