Elastic

From SME Server
Jump to navigation Jump to search

How to set elastic search on SME

install and configure

installl elastic repo


/sbin/e-smith/db yum_repositories set elastic6 repository \
Name 'Elasticsearch repository for 6.x packages' \
BaseURL 'https://artifacts.elastic.co/packages/6.x/yum' \
GPGKey 'https://artifacts.elastic.co/GPG-KEY-elasticsearch' \
GPGCheck yes \
EnableGroups yes \
Visible no \
status disabled
/sbin/e-smith/db yum_repositories set elastic5 repository \
Name 'Elasticsearch repository for 5.x packages' \
BaseURL 'https://artifacts.elastic.co/packages/5.x/yum' \
GPGKey 'https://artifacts.elastic.co/GPG-KEY-elasticsearch' \
GPGCheck yes \
EnableGroups yes \
Visible no \
status disabled
/sbin/e-smith/db yum_repositories set elastic2 repository \
Name 'Elasticsearch repository for 2.x packages' \
BaseURL 'https://packages.elastic.co/elasticsearch/2.x/centos' \
GPGKey 'https://artifacts.elastic.co/GPG-KEY-elasticsearch' \
GPGCheck yes \
EnableGroups yes \
Visible no \
status disabled
/sbin/e-smith/db yum_repositories set elastic1 repository \
Name 'Elasticsearch repository for 1.6 packages' \
BaseURL 'https://artifacts.elastic.co/packages/1.6/yum' \
GPGKey 'https://artifacts.elastic.co/GPG-KEY-elasticsearch' \
GPGCheck yes \
EnableGroups yes \
Visible no \
status disabled


signal-event yum-modify

install elastic and dependencies (which are not explicits). You now need to choose the version you want ! 6, 5 or 1.6

yum install elasticsearch java-1.8.0-openjdk  --enablerepo=elastic1


make it start at every boot

ln -s /etc/rc.d/init.d/e-smith-service  /etc/rc7.d/S95elasticsearch
config set elasticsearch service status enabled 

start it for the first time

service elasticsearch start

migration from 1.x to higher

upgrade to 2.4 and install plugin

yum upgrade elasticsearch --enablerepo=elastic2
service elasticsearch restart
cd /usr/share/elasticsearch
./bin/plugin install https://github.com/elastic/elasticsearch-migration/releases/download/v2.0.4/elasticsearch-migration-2.0.4.zip

run a tunnel from your computer

ssh -L 9200:localhost:9200 user@yourserver

use your favourite browser to fix things and migrate http://localhost:9200/_plugin/elasticsearch-migration then delete plugin and upgrade to 5.x or 6.x

cd /usr/share/elasticsearch
rm plugin/elasticsearch-migration -rf 
yum update elasticsearch --enablerepo=elastic5.x
service elasticsearch restart

reference https://github.com/elastic/elasticsearch-migration/tree/2.x

Snapshots

preparing for snapshots

mkdir /home/e-smith/db/elasticsearch
chown elasticsearch:elasticsearch /home/e-smith/db/elasticsearch/
echo "">> /etc/elasticsearch/elasticsearch.yml
echo 'path.repo: ["/home/e-smith/db/elasticsearch"]' >> /etc/elasticsearch/elasticsearch.yml
service elasticsearch restart
curl -XPUT 'http://localhost:9200/_snapshot/my_backup' -H 'Content-Type: application/json' -d '{
    "type": "fs",
    "settings": {
        "location": "/home/e-smith/db/elasticsearch",
        "compress": true
    }
}PUT /_snapshot/my_backup'

making a snapshot.

curl -XPUT 'http://localhost:9200/_snapshot/my_backup/snapshot1?wait_for_completion=true'

restore all indices, but not the state.

curl -XPUT 'http://localhost:9200/_snapshot/my_backup/snapshot1/_restore'

references and more options : https://www.elastic.co/guide/en/elasticsearch/reference/5.5/modules-snapshots.html

notes

elasticsearch : OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N