Elasticsearch не запускается linux

Содержание
  1. ElasticSearch не работает на localhost:9200 после установки apt-get
  2. 4 ответов
  3. linux-notes.org
  4. Установка ElasticSearch (один сервер) кластер в Unix/Linux
  5. Установка ElasticSearch (один сервер) кластер в Debian/Ubuntu
  6. Установка ElasticSearch (один сервер) кластер в CentOS/Fedora/RHEL
  7. Установка ElasticSearch (один сервер) кластер в Mac OS X
  8. Установка ElasticSearch (один сервер) кластер в других Unix/Linux ОС
  9. Настройка ElasticSearch в Unix/Linux
  10. Запуск Elasticsearch
  11. Тестирование Elasticsearch
  12. Проверка работы состояния кластера
  13. 3 thoughts on “ Установка ElasticSearch (один сервер) кластер в Unix/Linux ”
  14. Добавить комментарий Отменить ответ
  15. Elasticsearch Doesn’t start, doesn’t give any logs. #21300
  16. Comments
  17. ronakjain90 commented Nov 3, 2016 •
  18. clintongormley commented Nov 3, 2016
  19. clintongormley commented Nov 3, 2016
  20. ronakjain90 commented Nov 3, 2016
  21. tlrx commented Nov 3, 2016
  22. jasontedor commented Nov 3, 2016 •
  23. ronakjain90 commented Nov 3, 2016
  24. jasontedor commented Nov 3, 2016 •
  25. ronakjain90 commented Nov 3, 2016
  26. jasontedor commented Nov 3, 2016
  27. ronakjain90 commented Nov 3, 2016
  28. spinscale commented Nov 4, 2016
  29. clintongormley commented Nov 4, 2016
  30. DangerView commented Nov 7, 2016 •
  31. jasontedor commented Nov 7, 2016
  32. AmrMostafaMarzouk commented Aug 3, 2018 •
  33. Xmx represents the maximum size of total heap space

ElasticSearch не работает на localhost:9200 после установки apt-get

Я установил elasticsearch из репозиториев Ubuntu с помощью

после этого я предположил, что служба будет настроена и запущена, но когда я открыл localhost:9200 он не работает. Есть ли дополнительная конфигурация или команда, которую мне нужно запустить?

редактировать: я тоже побежал sudo systemctl start elasticsearch.service (ubuntu находится на systemd), но никакого эффекта.

4 ответов

из чистого ubuntu 16 (в vagrant) у меня есть успех, начиная эластичный поиск, делая следующие шаги:

раскомментировать в /etc/default/elasticsearch строку

и это самое важное:

отметим, что start не будет работать, потому что elasticsearch по умолчанию отключен, но systemd считает, что он запущен (это что-то вроде «запущен в отключенном состоянии»), поэтому после изменения файла по умолчанию вы должны перезапустить службу

Elasticsearch не запускается автоматически после установки. Вам нужно включить elasticsearch explicitely, см. https://www.elastic.co/guide/en/elasticsearch/reference/5.5/deb.html

Run systemctl status elasticsearch Если вы не получаете никаких журналов в /var/log/elasticsearch . Вы можете прокрутить этот вывод через f (вперед) и b (для обратной) по мере необходимости.

возможно, что у вас недостаточно памяти (ОЗУ).

Elasticsearch в занимает некоторое время, чтобы полностью придумать, вот некоторые из вещей, которые вы можете проверить:

также проверьте это на /etc/pam.d/su

при использовании systemd проверьте /usr/lib/systemd/system/elasticsearch.service

кроме того, добавьте это:

теперь проверьте память в /etc/elasticsearch/jvm.options это то, что зависит от вашей системы, вам придется настроить если используя ansible, я использую это:

но для запуска вы можете просто использовать половину своей системы, если у вас есть 16GB, дайте 8:

и последнее, но не менее важное: знайте о ресурсах, которые могут понадобиться стеку elk:

машина с 64 ГБ ОЗУ является идеальным сладкое пятно, но 32 ГБ и 16 ГБ машины также распространены.

Источник

linux-notes.org

Elasticsearch — это гибкий и мощный распределенный поиск в реальном времени и аналитический движок. Он использует простой набор API и обеспечивает возможность полнотекстового поиска. Описание всех преимуществ этого движка доступно на официальном сайте. Далее по тексту будем называть Elasticsearch как ES.

Установка ElasticSearch (один сервер) кластер в Unix/Linux

Проверка Java

Java является основным требованием при установке ES. Поэтому, убедитесь что в вашей системе установлена Java:

Читайте также:  Windows power mac os

Если в вашей системе не установлена Java, используйте одну из следующих ссылок для ее установки:

Вот еще полезное чтиво:

Установка ElasticSearch (один сервер) кластер в Debian/Ubuntu

-===СПОСОБ 1 — использовать репозиторий ===-

Импортируем ключ Eliteearch PGP ключ:

Возможно, вам придется установить пакет apt-transport-https на Debian:

Выполняем установку ES:

-===СПОСОБ 2 — использовать DEB пакет ===-

-===СПОСОБ 3 — использовать исходный код ===-

Будет описан ниже.

Установка ElasticSearch (один сервер) кластер в CentOS/Fedora/RHEL

-===СПОСОБ 1 — использовать репозиторий ===-

Выполняем установку ES:

Если используете Fedora:

-===СПОСОБ 2 — использовать RPM пакет ===-

-===СПОСОБ 3 — использовать исходный код ===-

Будет описан ниже.

Установка ElasticSearch (один сервер) кластер в Mac OS X

Для начала, устанавливаем HOMEBREW — Установка HOMEBREW на Mac OS X после чего, выполняем поиск пакета:

Как уже поняли, имеется несколько пакетов, я установлю:

Установка ElasticSearch (один сервер) кластер в других Unix/Linux ОС

-===Docker===-

Можно запустить докер контейнер с ES, но мне не приходилось этого делать. Т.к не было нужды. Если появится такая возможность, я обязательно дополню данную тему.

-===архив===-

Теперь загрузите архив Elasticsearch с официального сайта:

Перемещаем распакованную папку в удобное место ( для простоты использования ):

И, переходим к настройке.

Настройка ElasticSearch в Unix/Linux

И так, отредактируем конфиг:

PS: Данный конфиг лежит там, т.к я использовал установку с архива. По умолчанию, все конфиги будут находиться в /etc/elasticsearch/ папке.

  • cluster.name — Имя кластера.
  • node.name: Имя самого сервера.
  • network.host: ИП хоста.

Установка плагинов для Elasticsearch

Для его установки используйте следующую команду:

Запуск Elasticsearch

Перед запуском (если использовали СПОСОБ 1 и 2), проверяем что у нас используется «SysV init vs systemd»:

Запуск Elasticsearch с SysV init

Чтобы запустить/остановить службу ES, используйте:

Если Elasticsearch не запускается по какой-либо причине, он выведет причину отказа на STDOUT. Лог-файлы можно найти в /var/log/elasticsearch/ папке.

Незабываем пробросить порт в iptables!

Используйте команду update-rc.d чтобы добавить службу в автозагурзку ОС Debian/Ubuntu:

Используйте команду chkconfig, чтобы добавить службу в автозагрузку ОС RHEL/CentOS:

Для просмотра, можно использовать:

Запуск Elasticsearch с systemd

Чтобы добавить ES в автозагрузку системы, используйте:

Чтобы запустить/остановить службу ES, используйте:

Чтобы получить вывод лога, используйте:

Чтобы показать логи конкретно для ES:

Чтобы показать записи с лога для ES службы начиная с заданного времени:

Разрешим прохождения трафика через 9200-й TCP-порт в вашем брандмауэре:

Переходим к тестированию

Тестирование Elasticsearch

Или, можно выполнить в консоле:

Основные примеры использования Elasticearch

Следующие примеры помогут вам добавить, получить и найти данные в кластере Elasticsearch. Начнем, с создания бакета:

PS: Можно открыть ссылку в браузере.

Добавление данных в Elasticsearch

Чтобы начать использовать Elasticsearch, давайте сначала добавим некоторые данные. Как уже упоминалось, Elasticsearch использует API RESTful, который отвечает обычным командам CRUD: Create, Read, Update и Delete. Для работы с ним мы будем использовать curl.

Я курлом, отправил HTTP POST реквест на Elasticseach сервер. УРЛа запроса, была /tutorial/helloworld/1. Здесь важно понять параметры:

  • tutorial — Является индексом данных в Elasticsearch.
  • helloworld — Это тип.
  • 1 — Является идентификатором нашей записи под указанным выше индексом и типом.

Вы можете получить эту первую запись с HTTP GET-запросом:

Чтобы изменить существующую запись, вы можете использовать HTTP PUT-запрос следующим образом:

И снова проверяем:

Возможно, вы заметили дополнительный аргумент в приведенном выше запросе. Он позволяет читаемым человеком формате, чтобы вы могли писать каждое поле данных в новой строке. Вы также можете «приукрасить» свои результаты при извлечении данных и получить гораздо более приятный результат, например:

Читайте также:  Php windows domain user

Проверка работы состояния кластера

И так, можно проверить состояния кластера следующим образом:

Зачастую, многие для более надежной безоспастности, используют авторизацию и по этому — стоит выполнять команду следующим образом:

Или в более красивом виде:

По статусу можно понять что все — ОК. Если будет другой цвет, скажем — красный (red) или желтый (yellow) — это уже не есть хорошо.

Вот и все, установка «Установка ElasticSearch (один сервер) кластер в Unix/Linux» завершена.

3 thoughts on “ Установка ElasticSearch (один сервер) кластер в Unix/Linux ”

Спасибо большое за ваш труд, жалко что с 6 версией немного несовместимо

Желательно акцентрировать внимание, что 8 жаву рекомендует эластик… а 9 нет. И вообще убрать ее из списка, чтобы меньше косячили пользователи….

-H ‘Content-Type: application/json’ нехватает

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Elasticsearch Doesn’t start, doesn’t give any logs. #21300

Comments

ronakjain90 commented Nov 3, 2016 •

Elasticsearch version: 5.0.0

Plugins installed: none

JVM version:
openjdk version «1.8.0_91»
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4

14.04-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

OS version: Ubuntu 14.04.5 LTS

Description of the problem including expected versus actual behavior: Elasticsearch fails to start, doesn’t gives any logs.

Steps to reproduce: I’m using Ansible script to create my infrastructure. I had the same issue when I tried to upgrade my ES from 2.3 to ES 5.0. To determine the root cause, I’ve tried it in a new server with no installations.

name: Install apt-transport-https
apt: name=apt-transport-https state=present

name: Add Java (OpenJDK) Repository
apt_repository: repo=’ppa:openjdk-r/ppa’ state=present

name: Install Java (OpenJDK)
apt: pkg=openjdk-8-jdk state=installed update_cache=yes

name: Add Elasticsearch Repository
apt_repository: repo=’deb https://artifacts.elastic.co/packages/5.x/apt stable main’ state=present

name: Install Elasticsearch
apt: pkg=elasticsearch state=installed update_cache=yes

name: Init Elasticsearch
command: update-rc.d elasticsearch defaults 95 10

name: Enable Elasticsearch (Start on boot)
service: name=elasticsearch enabled=yes

Provide logs (if relevant): I don’t see any logs, link to the YML file.
https://gist.github.com/ronakjain90/08ae1c225f806af81e383aba24804a60

Describe the feature: Since I’m just trying to install the ES with no extra plugins, it seems weird that it just fails to start providing no clue why is it is crashing, since there are no logs that I can see. ES 5.0 works fine in my MacBook though.

The text was updated successfully, but these errors were encountered:

clintongormley commented Nov 3, 2016

The logs should be in /var/log/elasticsearch . Failing that, look in the system logs perhaps? You’re sure that you’re using SysV init and not systemd?

clintongormley commented Nov 3, 2016

also, how much RAM does your node have?

ronakjain90 commented Nov 3, 2016

Hi, I have no logs under the directory /var/log/elasticsearch

I have been using ES 2.3 in an ubuntu instance of 1GB which works fine. but right now I’ve tried installing 5.0 in an instance of 2GB ram.

tlrx commented Nov 3, 2016

It is maybe a combination of the default min/max heap size for Elasticsearch 5.0 that are now both aligned on 2gb by default and the -XX:+AlwaysPreTouch flag in jvm.options . Maybe the JVM cannot allocate enough memory and stops with an error. Such error are not caught in /var/log/elasticsearch but printed in stdout instead.

Читайте также:  Как отключить один windows при загрузке

jasontedor commented Nov 3, 2016 •

I agree with @tlrx, this is probably a memory issue. You can check /tmp for the existence of any hs_err_pid*.log files. The content of this file should tell you why the JVM is not starting, and I suspect you’ll see something like:

ronakjain90 commented Nov 3, 2016

Hi Thanks for responding.

I don’t see anything in STDOUT , also I don’t see any logs in the instance as you’ve mentioned above. How do I determine if it’s a memory issue? Is there any way I can reduce the heap size to 1.5Gb and just double check?

jasontedor commented Nov 3, 2016 •

@ronakjain90 Please look for the hs_err_pid*.log files that I mentioned in /tmp , locate will not locate those; a simple ls /tmp/hs_err_pid*.log will suffice.

ronakjain90 commented Nov 3, 2016

You are right. It is a memory issue. Is there any way I can run this in a 2GB instance. If not what is the minimum memory requirement.? I think we should have a section that shows minimum system requirements so that users would know about it before hand?

jasontedor commented Nov 3, 2016

@ronakjain90 You can adjust the heap size settings in /etc/elasticsearch/jvm.options . Adjust the lines -Xms2g and -Xmx2g to -Xms1g and -Xmx1g respectively, if you’re on a box with 2 GB of RAM. If you’re going to use a box with 1 GB of RAM I would recommend using -Xms512m and -Xmx512m .

ronakjain90 commented Nov 3, 2016

Thank you so much. Works like a charm.

spinscale commented Nov 4, 2016

So the culprit here is the start-stop-daemon — if it gets called with -b t o detach itself into the background (which we do), then everything written to stdout/stderr gets silently swallowed

clintongormley commented Nov 4, 2016

DangerView commented Nov 7, 2016 •

#21298
/tmp/hs_err_pid_.log
/var/log/_.STDOUT . anyway there is no log.
I trying to test memory issue. but still failed to start.
/etc/init.d/elasticsearch -> ES_HEAP_SIZE=16g ES_JAVA_OPTS=»-Xms16g -Xmx16g»
and remove start-stop-daemon -b option
/etc/elasticsearch/jvm.options -> -Xms16g -Xmx16g

root@aaa# service elasticsearch start
Starting Elasticsearch Server Error: encountered environment variables that are no longer supported
Use jvm.options or ES_JAVA_OPTS to configure the JVM
ES_HEAP_SIZE=16g: set -Xms16g and -Xmx16g in jvm.options or add «-Xms16g -Xmx16g» to ES_JAVA_OPTS
[fail]
I have no idea. please advice for me. thanks.

jasontedor commented Nov 7, 2016

The error message is telling you the problem. You tried to set the heap size via ES_HEAP_SIZE and that is not supported. If you have additional questions please take them to the Elastic Discourse forum.

AmrMostafaMarzouk commented Aug 3, 2018 •

Hello all,
I can start my elasticsearch normally by ./bin/eleasticsearch but after shutting down with «ctrl c» I can’t start again and face the below error. Moreover, I can’t find «hs_err_pid*.log» under /tmp while I’m pretty sure I’m having a memory issue.

**Noting that I’ve configured min/max heap size for Elasticsearch on 1gb [# Xms represents the initial size of total heap space

Xmx represents the maximum size of total heap space

-Xms1g
-Xmx1g
]
Can you please advise how can I overcome this issue

Источник

Оцените статью