Elasticsearch

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://github.com/elastic/elasticsearch/archive/v7.5.2.tar.gz
tar -xvf v7.5.2.tar.gz

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

echo "transport.tcp.port: 9301" >> ~/elasticsearch-7.5.2/distribution/src/config/elasticsearch.yml
echo "http.port: 9201" >> ~/elasticsearch-7.5.2/distribution/src/config/elasticsearch.yml
echo "network.host: localhost" >> ~/elasticsearch-7.5.2/distribution/src/config/elasticsearch.yml

Należy wskazać ścieżkę do binarki Java 13:

sed -i  -e "s#$ES_HOME/jdk/bin/java#/usr/local/bin/java13#g" ~/elasticsearch-7.5.2/distribution/src/bin/elasticsearch-env

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-7.5.2/distribution/src/bin/:$PATH' >> $HOME/.bash_profile && source $HOME/.bash_profile

przy założeniu, że paczka elasticsearch-7.5.2.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