Elasticsearch
W prywatnym projekcie, nad którym pracuje, do wyszukiwania kursów będę korzystać narzędzia Elasticsearch. Ponieważ potrzebuje lepiej poznać to narzędzie, postanowiłem udokumentować kilka kroków z mojej podróży, aby dzielić się wiedzą, a jednocześnie liczę, że przyda się to także innym.
Zamierzam korzystać z instalacji opartej o Docker i poniży wpis jest właśnie taką uproszczoną instrukcją jak tego dokonać.
Docker
Instalacja Elasticsearch
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2
🤦♂️
8.12.2: Pulling from elasticsearch/elasticsearch
43c43af79300: Pull complete
45d2cdef02ae: Pull complete
53c867456b94: Pull complete
4ca545ee6d5d: Pull complete
5a5296f0a516: Pull complete
6c446de718e0: Pull complete
b1e261305ffa: Pull complete
fb4da479c6c6: Pull complete
95d1bfc165a8: Pull complete
49e262de4e33: Pull complete
Digest: sha256:81b3bbd42d4d5e238e7ee31b7e99acab0bac1fca4eb2fa88415bad5482e52b88
Status: Downloaded newer image for docker.elastic.co/elasticsearch/elasticsearch:8.12.2
docker.elastic.co/elasticsearch/elasticsearch:8.12.2
Następnie uruchomię lekką wersję:
docker run -p 9200:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.12.2
Use the -m
flag to set a memory limit for the container. This removes the need to manually set the JVM size.
W przeciwnym wypadku trzeba poklikać i dodać ustawienia pamięci – nie potrzebuje tego teraz, idę zgodnie z dokumentacją.
wsl -d docker-desktop
wsl -d rancher-desktop
sysctl -w vm.max_map_count=262144
Bezpieczeństwo
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Elasticsearch security features have been automatically configured!
Authentication is enabled and cluster connections are encrypted.
Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
xHfUR+xSz7-yhFJ1uXie
HTTP CA certificate SHA-256 fingerprint:
a8c9d16a2c7317da8f115ad6d2e02a843b7fbcbc6a7160e80ce464b9b313654d
Configure Kibana to use this cluster:
• Run Kibana and click the configuration link in the terminal when Kibana starts.
• Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
eyJ2ZXIiOiI4LjEyLjIiLCJhZHIiOlsiMTcyLjE3LjAuMjo5MjAwIl0sImZnciI6ImE4YzlkMTZhMmM3MzE3ZGE4ZjExNWFkNmQyZTAyYTg0M2I3ZmJjYmM2YTcxNjBlODBjZTQ2NGI5YjMxMzY1NGQiLCJrZXkiOiJISFg4Q280QmhUaWFaVHZKVW1Wejpnam9VVF9aVlFjZXAzeDRsV3BrS1R3In0=
Configure other nodes to join this cluster:
• Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch –enrollment-token <token>` (valid for the next 30 minutes):
eyJ2ZXIiOiI4LjEyLjIiLCJhZHIiOlsiMTcyLjE3LjAuMjo5MjAwIl0sImZnciI6ImE4YzlkMTZhMmM3MzE3ZGE4ZjExNWFkNmQyZTAyYTg0M2I3ZmJjYmM2YTcxNjBlODBjZTQ2NGI5YjMxMzY1NGQiLCJrZXkiOiJIWFg4Q280QmhUaWFaVHZKVW1WejpOZ25XNXJ3OVJOR3E5NEZrcG1DZGV3In0=
If you’re running in Docker, copy the enrollment token and run:
`docker run -e “ENROLLMENT_TOKEN=<token>” docker.elastic.co/elasticsearch/elasticsearch:8.12.2`
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Jeśli z jakiegoś powodu zgubisz lub będziesz chciał zmienić hasło dla użytkownika, na spokojnie robisz to tak:
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
Docker na Linux jest darmowy (https://docs.docker.com/engine/#licensing), zatem nie ma potrzeby “przesiadania się”. Korzystam na WSL.
Tak tak, tylko że zobacz: “However, for commercial use of Docker Engine obtained via Docker Desktop within larger enterprises (exceeding 250 employees OR with annual revenue surpassing $10 million USD), a paid subscription is required.
Ja się przesiadłem, bo w firmie dla której pracowałem właśnie był Rancher i chciałem też spróbować.