? Установка Elasticsearch 7 на Fedora 30 — Information Security Squad

? Установка Elasticsearch 7 на Fedora 30

В этом руководстве вы узнаете, как установить Elasticsearch 7 на Fedora 30.

Мы рассмотрели аналогичные установки в наших предыдущих руководствах.

Установите 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
Затем загрузите контрольную сумму для проверки целостности пакета 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.

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40