Как установить и настроить Elasticsearch в Ubuntu 22.04
Elasticsearch — это распределенная система поиска и анализа с открытым исходным кодом. Он основан на Apache Lucene и позволяет искать различные типы структурированных и неструктурированных данных, таких как текстовые, числовые или геопространственные данные. Это популярная поисковая система, предназначенная для приложений со сложными требованиями к поиску. Вы можете интегрировать Elasticsearch со своим приложением, чтобы добавить функции поиска.
Из этого туториала вы узнаете, как установить Elasticsearch в Ubuntu 22.04.
Требования
- Сервер под управлением Ubuntu 22.04.
- На сервере установлен пароль root.
Установить Java
Поскольку Elasticsearch основан на Java, вам необходимо установить Java на свой сервер. Вы можете установить Java JDK, используя следующую команду:
apt install default-jdk -y
После установки Java вы можете проверить версию Java с помощью следующей команды:
java --version
Вы должны увидеть следующий вывод:
openjdk 11.0.15 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)
Добавить репозиторий Elasticsearch
По умолчанию пакет Elasticsearch не включен в репозиторий по умолчанию Ubuntu 22.04. Поэтому вам необходимо добавить официальный репозиторий в APT.
Сначала установите необходимые зависимости, используя следующую команду:
apt install curl wget gnupg2 wget -y
После установки всех зависимостей добавьте ключ Elasticsearch GPG с помощью следующей команды:
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elastic.gpg
Затем добавьте репозиторий Elasticsearch в APT, используя следующую команду:
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Затем обновите кеш репозитория с помощью следующей команды:
apt update -y
После обновления репозитория вы можете перейти к следующему шагу.
Установите Elasticsearch на Ubuntu 22.04.
Теперь установите Elasticsearch с помощью следующей команды:
apt install elasticsearch -y
После установки пакета Elasticsearch отредактируйте файл конфигурации Elasticsearch:
nano /etc/elasticsearch/elasticsearch.yml
Измените следующую строку:
network.host: localhost
Сохраните и закройте файл и запустите службу Elasticsearch с помощью следующей команды:
systemctl start elasticsearch
Вы можете проверить статус Elasticsearch с помощью следующей команды:
systemctl status elasticsearch
Вы должны увидеть следующий вывод:
? elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2022-05-28 10:44:01 UTC; 8s ago
Docs: https://www.elastic.co
Main PID: 7259 (java)
Tasks: 68 (limit: 2292)
Memory: 1.2G
CPU: 45.941s
CGroup: /system.slice/elasticsearch.service
??7259 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.tt>
??7417 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
May 28 10:43:20 ubuntu2204 systemd[1]: Starting Elasticsearch...
May 28 10:44:01 ubuntu2204 systemd[1]: Started Elasticsearch.
Проверка установки Elasticsearch
После установки Elasticsearch вы можете проверить установку Elasticsearch с помощью следующей команды:
curl -X GET 'http://localhost:9200'
Вы должны увидеть следующий вывод:
{
"name" : "ubuntu2204",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "lrkrHPovRgiCdF67bVnS9w",
"version" : {
"number" : "7.17.4",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "79878662c54c886ae89206c685d9f1051a9d6411",
"build_date" : "2022-05-18T18:04:20.964345128Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Как использовать Elasticsearch
С Elasticsearch вы можете создавать, читать, обновлять и удалять данные с помощью команды Curl. Чтобы добавить запись в Elasticsearch, выполните следующую команду:
curl -XPOST -H "Content-Type: application/json" 'http://localhost:9200/tutorial/helloworld/1' -d '{ "message": "Hello World!" }'
Вы получите следующий результат:
{"_index":"tutorial","_type":"helloworld","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
Теперь вы можете получить добавленную запись с помощью следующей команды:
curl -X GET -H "Content-Type: application/json" 'http://localhost:9200/tutorial/helloworld/1'
Вы получите следующий результат:
{"_index":"tutorial","_type":"helloworld","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "message": "Hello World!" }}
Чтобы изменить существующую запись, используйте команду put, как показано ниже:
curl -X PUT -H "Content-Type: application/json" 'localhost:9200/tutorial/helloworld/1?pretty' -d ' { "message": "Hello, People!" }'
Вы получите следующий результат:
{
"_index" : "tutorial",
"_type" : "helloworld",
"_id" : "1",
"_version" : 2,
"result" : "updated",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 1,
"_primary_term" : 1
}
Теперь вы можете получить добавленную запись в более читаемом формате, используя следующую команду:
curl -X GET -H "Content-Type: application/json" 'http://localhost:9200/tutorial/helloworld/1?pretty'
Вы получите следующий результат:
{
"_index" : "tutorial",
"_type" : "helloworld",
"_id" : "1",
"_version" : 2,
"_seq_no" : 1,
"_primary_term" : 1,
"found" : true,
"_source" : {
"message" : "Hello, People!"
}
}
Заключение
Поздравляю. Вы успешно установили Elasticsearch в Ubuntu 22.04. Теперь вы можете интегрировать Elasticsearch в свое приложение и искать данные в режиме реального времени.