Вступ до ElasticSearch
Що таке ElasticSearch:
- ElasticSearch — це пошукова система з відкритим кодом, побудована на Apache Lucene
- Написана на Java, вона надає простий і зручний у використанні RESTFul API
- Легке масштабування для підтримки структурованої або неструктурованої обробки даних на рівні петабайта
Сценарії застосування:
- Двигун масового аналізу даних
- Пошукова система на сайті
- Як сховище даних
Адреса документа:Вхід за гіперпосиланням видно.
Середовище розгортання:
CentOS 7 x64-біт, Elasticsearch версія 6.5.2, JDK 1.8.0.191
1: Встановити JDK 1.8.0
ElasticSearch чутливий до версії JRE, і неправильна версія призведе до нероботи ElasticSearch.
2: Завантажити та запустити ElasticSearch 6.5.2
Завантажте сторінку адреси:Вхід за гіперпосиланням видно.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch Попередження про VM 64-бітного сервера OpenJDK: якщо очікується, що кількість процесорів збільшиться з одного, слід правильно налаштувати кількість паралельних потоків GC за допомогою -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [ПОПЕРЕДЖЕННЯ] [o.e.b.ElasticsearchUncaughtExceptionHandler] [невідомо] невиловлений виняток у темі [головна]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root на org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] на org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.2.jar:6.5.2] на org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] на org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] на org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] на org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] на org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Причина: java.lang.RuntimeException: не може запустити elasticsearch як root на org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] на org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] на org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] на org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... Ще 6
Elasticsearch вимагає, щоб ви не могли запускати з коренем суперкористувача, тож ми можемо створити обліковий запис неформально, і я маю використовувати користувача як es
Якщо помилки немає, система успішно працює
Відкрийте новий термінал і отримайте до нього доступ за допомогою Curl
Якщо переконатися, що серверний порт (9200) увімкнений, запускається elasticsearch (ps -ef | grep elasticsearch) доступний у браузері
[root@VM_0_9_centos місцевий]# curl 'http://localhost:9200/?pretty'
{ "ім'я": "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "версія" : { "номер" : "6.5.2", "build_flavor" : "за замовчуванням", "build_type" : "смола", "build_hash" : "9434bed", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : неправда, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "слоган": "Ти знаєш, для пошуку"
}
3: Доступ до Elasticsearch через Інтернет
Редагувати конфігураційний файл elasticsearch
Знайдіть network.host: лінію, видаліть знак # і змініть його на:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 — це вказана IP-адреса, яка може мати кілька IP-адрес. Не тестувався)
Перезапустіть Elasticsearch, і тоді зможете отримати доступ до http://ip:9200 інтерфейсу в Інтернеті.
Можливі помилки:
Помилка перша
Максимальні площі віртуальної пам'яті vm.max_map_count [65530] занадто низькі, збільшуйте до принаймні [262144] Значення max_map_count означає максимальні площі карти пам'яті, доступні процесу, які використовуються при виклику malloc і генеруються mmap/mprotect.
Обхідний шлях: збільшити розмір vm.max_map_count:
Помилка друга
Максимальні дескриптори файлів [4096] для процесу ElasticSearch занадто низькі, збільшуються щонайменше до [65536] Рішення
Після модифікації знову увійдіть до користувача ES і скористайтеся наступною командою, щоб перевірити, чи модифікація успішна
Помилка 3
Java HotSpot(TM) 64-бітний сервер VM попередження: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) не вдалося; error='Неможливо виділити пам'ять' (errno=12) Рішення
присказала АліМожливі проблеми на
фільтри системних викликів не вдалися встановитися; Перевірте журнали та виправте конфігурацію або вимкніть фільтри системних дзвінків на власний ризик Рішення: Додайте наступну команду до конфігурації elasticsearch
|