Для тех, кто попадает в этот пост и пытается устранить эти ошибки для себя (тогда как я спрашиваю только о том, что они означают ), я предоставил свои шаги в нижней частиэтот пост для избавления от ошибок.
Установлен elasticsearch
и может получить доступ с локального хоста, но возникли проблемы с таймаутом при попытке подключения с удаленного компьютера.Попытка исправить выбрасывает ошибки, которые, прежде чем пытаться исправить, были просто предупреждениями.
Этот другой пост ( Установлен эластичный поиск на сервере, но не может подключиться к нему, если с другого компьютера ) может быть устаревшим, как при проверке elasticsearch.yml
, похоже, нет переменной network.bind_host
и пост, кажется, ссылается на более старую версию.Но, следуя этому, насколько это возможно, выполнение
[me@mapr07 config]$ netstat -ntlp | awk '/[j]ava/'
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 0 0 127.0.0.1:9200 :::* LISTEN 21109/java
tcp6 0 0 ::1:9200 :::* LISTEN 21109/java
показывает, что мы привязываемся к localhost и «если вы привязываетесь к localhost (т. Е. 127.0.0.1), вы можете принимать соединения только от localhost, а нечерез сеть. "(https://stackoverflow.com/a/24057311/8236733) (я не знаю много сетевых вещей).
Из документов эластичного поиска (https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html#advanced-network-settings), попытались установить переменную network.bind_host
в * 1025)* до 0.0.0.0 (как в оригинальном сообщении). Однако, после повторной установки эластичного поиска, мы видим вывод:
[2018-05-15T14:49:54,395][INFO ][o.e.n.Node ] [TjtCCG8] starting ...
[2018-05-15T14:49:54,603][INFO ][o.e.t.TransportService ] [TjtCCG8] publish_address {127.0.0.1:9300}, bound_addresses {[::]:9300}
[2018-05-15T14:49:54,620][INFO ][o.e.b.BootstrapChecks ] [TjtCCG8] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-05-15T14:49:54,641][INFO ][o.e.n.Node ] [TjtCCG8] stopping ...
[2018-05-15T14:49:54,670][INFO ][o.e.n.Node ] [TjtCCG8] stopped
[2018-05-15T14:49:54,670][INFO ][o.e.n.Node ] [TjtCCG8] closing ...
[2018-05-15T14:49:54,701][INFO ][o.e.n.Node ] [TjtCCG8] closed
Я не понимаю, как это происходит, и я также не понимаю, почемуэто даже реальная проблема, так как ранее он выдавал эту ошибку как предупреждение при привязке к localhost и все равно работал бы, например.
[2018-05-15T15:01:32,017][INFO ][o.e.n.Node ] [TjtCCG8] starting ...
[2018-05-15T15:01:32,283][INFO ][o.e.t.TransportService ] [TjtCCG8] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}
[2018-05-15T15:01:32,303][WARN ][o.e.b.BootstrapChecks ] [TjtCCG8] max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2018-05-15T15:01:32,304][WARN ][o.e.b.BootstrapChecks ] [TjtCCG8] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-05-15T15:01:35,372][INFO ][o.e.c.s.MasterService ] [TjtCCG8] zen-disco-elected-as-master ([0] nodes joined), reason: new_master {TjtCCG8}{TjtCCG8LQOWOE2HNFdcLxA}{ik_q1XYnTk-BBJXcBMNK_A}{127.0.0.1}{127.0.0.1:9300}
Мой вопрос : почему это происходит?В обоих случаях, похоже, используется одинаковое количество файловых дескрипторов и виртуального пространства, так почему же при привязке к 0.0.0.0 эта сумма больше не просто уровень предупреждения, а ошибка?
Для тех, кто приземляется на этот постЧтобы устранить эти ошибки для себя (тогда как я спрашиваю только о том, что они означают), я предоставил свои шаги ниже, чтобы избавиться от ошибок.
Выполнение некоторого быстрого поиска в Google,Документы рекомендуют выполнить команду
sudo su
ulimit -n 65536
su elasticsearch (dont exit *back* to elasticsearch session, since new limit only applies to current session (which ends if you exit))
для устранения ошибки max file descriptors [4096] for elasticsearch process is too low
, поскольку
Elasticsearch использует множество файловых дескрипторов или файловых дескрипторов.Исчерпание файловых дескрипторов может иметь катастрофические последствия и, скорее всего, приведет к потере данных.Обязательно увеличьте ограничение на количество дескрипторов открытых файлов для пользователя, запускающего Elasticsearch, до 65 536 или выше.
(https://www.elastic.co/guide/en/elasticsearch/reference/current/file-descriptors.html#file-descriptors). Во-вторых, чтобы устранить ошибку max virtual memory
, запустите
(sudo) sysctl -w vm.max_map_count=262144
в системах linux, поскольку
Ограничения операционной системы по умолчанию для счетчиков mmap могут быть слишком низкими, что может привести к исключениям нехватки памяти
(https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html#vm-max-map-count).