Elasticsearch: Różnice pomiędzy wersjami

(Utworzono nową stronę "''Elasticsearch'' to rozproszony silnik wyszukiwania oraz analizy danych. Niniejszy poradnik przedstawia podstawową konfigurację niezbędną do momentu uruchomienia ap...")
 
Linia 3: Linia 3:
 
=== Wstępna konfiguracja ===
 
=== Wstępna konfiguracja ===
 
Przed przystąpieniem do dalszych kroków należy:
 
Przed przystąpieniem do dalszych kroków należy:
* [[rezerwacja portów|Zarezerwować porty]], pierwszy z zakresu 9200-9299 do udostępnienia API poprzez HTTP, drugi z 9300-9399 do komunikacji między węzłami.
+
* [[rezerwacja portów|Zarezerwować dwa porty]], pierwszy do udostępnienia API poprzez HTTP, drugi do komunikacji między węzłami.
 
* Odblokować [[Binexec]].
 
* Odblokować [[Binexec]].
  
 
=== Instalacja ===
 
=== Instalacja ===
 
Pobranie i rozpakowanie paczki:
 
Pobranie i rozpakowanie paczki:
<code><pre>
+
<pre>
 
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.tar.gz
 
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.tar.gz
 
tar -xvf elasticsearch-5.5.1.tar.gz
 
tar -xvf elasticsearch-5.5.1.tar.gz
</pre></code>
+
</pre>
Aby móc korzystać z binarek bez podawania do nich pełnej ścieżki należy w .bash_profile dodać linijkę:
 
  
<syntaxhighlight lang="bash">export PATH="$PATH:$HOME/elasticsearch-5.5.1/bin/"</syntaxhighlight>
+
Wskazanie w konfiguracji uprzednio zarezerwowanych portów, dla przykładu 9301 oraz 9201.
 +
<syntaxhighlight lang="bash">echo "transport.tcp.port: 9301" >> ~/elasticsearch-5.5.1/config/elasticsearch.yml</syntaxhighlight>
 +
<syntaxhighlight lang="bash">echo "http.port: 9201" >> ~/elasticsearch-5.5.1/config/elasticsearch.yml</syntaxhighlight>
 +
 
 +
Aby móc korzystać z binarek bez podawania do nich pełnej ścieżki należy zmodyfikować .bash_profile poleceniem:
 +
 
 +
<syntaxhighlight lang="bash">echo 'export PATH=$HOME/elasticsearch-5.5.1/bin/:$PATH' >> $HOME/.bash_profile && source $HOME/.bash_profile</syntaxhighlight>
 
przy założeniu, że paczka elasticsearch-5.5.1.tar.gz została rozpakowana bezpośrednio w katalogu domowym.
 
przy założeniu, że paczka elasticsearch-5.5.1.tar.gz została rozpakowana bezpośrednio w katalogu domowym.
 
Podane polecenie można również wydać w konsoli, wtedy rozwiązanie będzie działać podczas tej samej sesji.
 
  
 
=== Uruchamianie ===
 
=== Uruchamianie ===
Linia 30: Linia 33:
  
 
Lub wykorzystać [[Cron]] by uruchomić usługę automatycznie po każdym restarcie serwera.
 
Lub wykorzystać [[Cron]] by uruchomić usługę automatycznie po każdym restarcie serwera.
 +
 +
=== Autoryzacja ===
 +
Instalacja mechanizmu autoryzacji X-Pack
 +
 +
<syntaxhighlight lang="bash">
 +
elasticsearch-plugin install  https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/license/2.4.6/license-2.4.6.zip
 +
</syntaxhighlight>
 +
 +
Potwierdzić pytania przy instalacji pluginu.
 +
 +
Wyłączyć Machine Learning, który jest niewspierany na FreeBSD:
 +
<syntaxhighlight lang="bash">echo "xpack.ml.enabled: false" >> ~/elasticsearch-5.5.1/config/elasticsearch.yml</syntaxhighlight>
 +
 +
Teraz należy uruchomić elasticsearch.
 +
 +
By zmienić domyślne hasło, które brzmi
 +
<code>changeme</code>
 +
należy wykonać polecenie:
 +
 +
<syntaxhighlight lang="bash">
 +
curl -XPUT -u elastic 'localhost:9201/_xpack/security/user/elastic/_password' -H "Content-Type: application/json" -d '{
 +
  "password" : "miejscenahasło"
 +
}'
 +
</syntaxhighlight>
 +
 +
gdzie port podany po localhost to numer wcześniej wskazanego portu http.port.
 +
 +
Zostaniemy zapytani o dotychczasowe hasło, po jego wprowadzeniu zostanie zatwierdzone nowe hasło wysłane w
 +
komunikacie w formacie json.
 +
 +
W celu wyłączenia domyślnego hasła dla standardowych użytkowników X-pack należy w <code>elasticsearch.yaml</code>  dodać linijkę <code>xpack.security.authc.accept_default_password: false</code> poleceniem:
 +
 +
<syntaxhighlight lang="bash">echo "xpack.security.authc.accept_default_password: false" >> ~/elasticsearch-5.5.1/config/elasticsearch.yml</syntaxhighlight>
 +
 +
Więcej informacji znajduje się w [https://www.elastic.co/guide/en/x-pack/current/xpack-security.html oficjalnej dokumentacji] projetktu Elasticsearch.
  
 
=== Odnośniki zewnętrzne ===
 
=== Odnośniki zewnętrzne ===

Wersja z 09:07, 10 sie 2017

Elasticsearch to rozproszony silnik wyszukiwania oraz analizy danych. Niniejszy poradnik przedstawia podstawową konfigurację niezbędną do momentu uruchomienia aplikacji.

Wstępna konfiguracja

Przed przystąpieniem do dalszych kroków należy:

Instalacja

Pobranie i rozpakowanie paczki:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.tar.gz
tar -xvf elasticsearch-5.5.1.tar.gz

Wskazanie w konfiguracji uprzednio zarezerwowanych portów, dla przykładu 9301 oraz 9201.

echo "transport.tcp.port: 9301" >> ~/elasticsearch-5.5.1/config/elasticsearch.yml
echo "http.port: 9201" >> ~/elasticsearch-5.5.1/config/elasticsearch.yml

Aby móc korzystać z binarek bez podawania do nich pełnej ścieżki należy zmodyfikować .bash_profile poleceniem:

echo 'export PATH=$HOME/elasticsearch-5.5.1/bin/:$PATH' >> $HOME/.bash_profile && source $HOME/.bash_profile

przy założeniu, że paczka elasticsearch-5.5.1.tar.gz została rozpakowana bezpośrednio w katalogu domowym.

Uruchamianie

Aby uruchomić aplikację jednorazowo należy wydać polecenie: elasticsearch

Można również uruchomić aplikację w screen aby działała również po zamknięciu okna klienta SSH:

screen elasticsearch

Lub wykorzystać Cron by uruchomić usługę automatycznie po każdym restarcie serwera.

Autoryzacja

Instalacja mechanizmu autoryzacji X-Pack

elasticsearch-plugin install  https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/license/2.4.6/license-2.4.6.zip

Potwierdzić pytania przy instalacji pluginu.

Wyłączyć Machine Learning, który jest niewspierany na FreeBSD:

echo "xpack.ml.enabled: false" >> ~/elasticsearch-5.5.1/config/elasticsearch.yml

Teraz należy uruchomić elasticsearch.

By zmienić domyślne hasło, które brzmi changeme należy wykonać polecenie:

curl -XPUT -u elastic 'localhost:9201/_xpack/security/user/elastic/_password' -H "Content-Type: application/json" -d '{
  "password" : "miejscenahasło"
}'

gdzie port podany po localhost to numer wcześniej wskazanego portu http.port.

Zostaniemy zapytani o dotychczasowe hasło, po jego wprowadzeniu zostanie zatwierdzone nowe hasło wysłane w komunikacie w formacie json.

W celu wyłączenia domyślnego hasła dla standardowych użytkowników X-pack należy w elasticsearch.yaml dodać linijkę xpack.security.authc.accept_default_password: false poleceniem:

echo "xpack.security.authc.accept_default_password: false" >> ~/elasticsearch-5.5.1/config/elasticsearch.yml

Więcej informacji znajduje się w oficjalnej dokumentacji projetktu Elasticsearch.

Odnośniki zewnętrzne