В этом руководстве вы узнаете, как установить Elasticsearch 7 на Fedora 30.
Мы рассмотрели аналогичные установки в наших предыдущих руководствах.
- ? Как установить Elasticsearch на Debian 10/9/8
- Как установить Elasticsearch 6.x на Fedora 29 / Fedora 28
- Как настроить Elasticsearch на Ubuntu 18.04 и 16.04 LTS
- Установите Elasticsearch 7 на Fedora 30
- Установите Elasticsearch 7, используя RPM репозиторий
- На Fedora 30
- Импортируйте ключ PGP Elasticsearch
- Добавьте Elasticsearch 7 RPM репозиторий
- Установите Elasticsearch 7.x, используя пакет RPM
- Затем установите Elasticsearch 7.1.1 в CentOS 7 / Fedora 29
- Запуск Elasticsearch
Установите Elasticsearch 7 на Fedora 30
Вы можете установить Elasticsearch с помощью архива tar.gz, двоичного пакета RPM или непосредственно из репозитория RPM.
В этом руководстве мы обсудим использование двоичного файла RPM и репозитория RPM.
Обратите внимание, что Elasticsearch поставляется в комплекте с собственной версией JDK, поэтому нет необходимости устанавливать Java.
Установите Elasticsearch 7, используя RPM репозиторий
Чтобы установить Elasticsearch 7 на Fedora 30 с помощью репозитория RPM, выполните обновление системы, прежде чем продолжить
На Fedora 30
dnf update dnf upgrade
Импортируйте ключ PGP Elasticsearch
После завершения обновления системы выполните команду ниже, чтобы импортировать ключ подписи Elasticsearch PGP.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Добавьте Elasticsearch 7 RPM репозиторий
Чтобы добавить репозиторий Elasticsearch 7, который позволит вам установить Elasticsearch 7 Fedora 30, выполните команду ниже
cat > /etc/yum.repos.d/elastic-7.x.repo << EOF
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
Создав репозиторий Elasticsearch, обновите свою систему и установите Elasticsearch.
dnf update dnf install elasticsearch
Если установка прошла успешно, вы должны увидеть такой фрагмент вывод.
...
Creating elasticsearch group... OK
Creating elasticsearch user... OK
Installing : elasticsearch-7.1.1-1.x86_64 1/1
Running scriptlet: elasticsearch-7.1.1-1.x86_64 1/1
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
sudo systemctl start elasticsearch.service
Created elasticsearch keystore in /etc/elasticsearch
Verifying : elasticsearch-7.1.1-1.x86_64 1/1
Installed:
elasticsearch-7.1.1-1.x86_64
Complete!
Установите Elasticsearch 7.x, используя пакет RPM
Чтобы вручную установить Elasticsearch 7.0 в CentOS 7 / Fedora 29 с использованием пакета RPM, загрузите пакет RPM.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-x86_64.rpm.sha512
Запустите проверку целостности, сравнив контрольные суммы.
Перед этим установите perl-Digest-SHA -y, который предоставляет shasum для сравнения контрольных сумм.
yum install perl-Digest-SHA -y
dnf install perl-Digest-SHA -y shasum -a 512 -c elasticsearch-7.1.1-x86_64.rpm.sha512
Если все хорошо, то вы получите вывод – OK
elasticsearch-7.1.1-x86_64.rpm: OK
Затем установите Elasticsearch 7.1.1 в CentOS 7 / Fedora 29
На CentOS 7
sudo yum localinstall elasticsearch-7.1.1-x86_64.rpm
На Fedora 29
sudo dnf install ./elasticsearch-7.1.1-x86_64.rpm
Запуск Elasticsearch
Как только установка будет завершена, вы можете запустить Службу, выполнив;
systemctl daemon-reload systemctl start elasticsearch
Чтобы остановить или настроить автоматический запуск службы Службы поиска при загрузке системы, выполните команды ниже соответственно.
systemctl stop elasticsearch systemctl enable elasticsearch
Проверить статус Elasticsearch;
systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2019-06-05 08:40:20 EAT; 37min ago
Docs: http://www.elastic.co
Main PID: 27812 (java)
Tasks: 45 (limit: 2351)
Memory: 1.2G
CGroup: /system.slice/elasticsearch.service
├─27812 /usr/share/elasticsearch/jdk/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitia>
└─27873 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Если Elasticsearch терпит неудачу запуска с такой ошибкой в журналах,
tail -f /var/log/elasticsearch/elasticsearch.log
...
[2019-06-05T07:24:27,752][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [pdns.example.com] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: ElasticsearchException[Failed to create native process factories for Machine Learning]; nested: FileNotFoundException[/tmp/elasticsearch-5386718150248443450/controller_log_24761 (No such file or directory)];
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.1.1.jar:7.1.1]
...
Вы должны проверить, отсутствуют ли какие-либо библиотеки модулей контроллера X-pack для машинного обучения.
Следовательно, выполните команду ниже, чтобы проверить это.
ldd /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller | grep "not found"
libcrypt.so.1 => not found
libcrypt.so.1 => not found
libcrypt.so.1 => not found
Поэтому, чтобы устранить проблему, установите недостающие библиотеки. В этом случае эти библиотеки могут быть отсортированы путем установки libxcrypt-compat.
dnf install libxcrypt-compat
Проверьте недостающие библиотеки снова.
ldd /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller | grep "not found"
Затем перезапустите Elasticsearch и убедитесь, что он действительно работает, выполнив команду ниже
curl -XGET localhost:9200
{
"name" : "pdns.example.com",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "VmhyYe9KTnud1y4voHKdrg",
"version" : {
"number" : "7.1.1",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "7a013de",
"build_date" : "2019-05-23T14:04:00.380842Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Другое решение для устранения этой проблемы – отключение возможности Elasticsearch для машинного обучения путем добавления строки xpack.ml.enabled: false в файл конфигурации Elasticsearch.
echo "xpack.ml.enabled: false" >> /etc/elasticsearch/elasticsearch.yml
Если FirewallD работает, вам нужно открыть на нем tcp порт 9200.
sudo firewall-cmd --add-port=9200/tcp --permanent sudo firewall-cmd --reload
Отлично, это все, что нужно для установки Elasticsearch 7 на Fedora 30.