- ElasticSearch не работает на localhost:9200 после установки apt-get
- 4 ответов
- linux-notes.org
- Установка ElasticSearch (один сервер) кластер в Unix/Linux
- Установка ElasticSearch (один сервер) кластер в Debian/Ubuntu
- Установка ElasticSearch (один сервер) кластер в CentOS/Fedora/RHEL
- Установка ElasticSearch (один сервер) кластер в Mac OS X
- Установка ElasticSearch (один сервер) кластер в других Unix/Linux ОС
- Настройка ElasticSearch в Unix/Linux
- Запуск Elasticsearch
- Тестирование Elasticsearch
- Проверка работы состояния кластера
- 3 thoughts on “ Установка ElasticSearch (один сервер) кластер в Unix/Linux ”
- Добавить комментарий Отменить ответ
- Elasticsearch Doesn’t start, doesn’t give any logs. #21300
- Comments
- ronakjain90 commented Nov 3, 2016 •
- clintongormley commented Nov 3, 2016
- clintongormley commented Nov 3, 2016
- ronakjain90 commented Nov 3, 2016
- tlrx commented Nov 3, 2016
- jasontedor commented Nov 3, 2016 •
- ronakjain90 commented Nov 3, 2016
- jasontedor commented Nov 3, 2016 •
- ronakjain90 commented Nov 3, 2016
- jasontedor commented Nov 3, 2016
- ronakjain90 commented Nov 3, 2016
- spinscale commented Nov 4, 2016
- clintongormley commented Nov 4, 2016
- DangerView commented Nov 7, 2016 •
- jasontedor commented Nov 7, 2016
- AmrMostafaMarzouk commented Aug 3, 2018 •
- 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:
Если в вашей системе не установлена 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-запрос следующим образом:
И снова проверяем:
Возможно, вы заметили дополнительный аргумент в приведенном выше запросе. Он позволяет читаемым человеком формате, чтобы вы могли писать каждое поле данных в новой строке. Вы также можете «приукрасить» свои результаты при извлечении данных и получить гораздо более приятный результат, например:
Проверка работы состояния кластера
И так, можно проверить состояния кластера следующим образом:
Зачастую, многие для более надежной безоспастности, используют авторизацию и по этому — стоит выполнять команду следующим образом:
Или в более красивом виде:
По статусу можно понять что все — ОК. Если будет другой цвет, скажем — красный (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.
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
Источник