Въведение в ElasticSearch
Какво е ElasticSearch:
- ElasticSearch е търсачка с отворен код, базирана на Apache Lucene
- Написан на Java, той предоставя прост и лесен за използване RESTFul API
- Лесно мащабиране за поддръжка на структурирана или неструктурирана обработка на данни на ниво петабайт
Сценарии на приложение:
- Масивен двигател за анализ на данни
- Търсачка на място
- Като хранилище за данни
Адрес на документа:Входът към хиперлинк е видим.
Среда за внедряване:
CentOS 7 x64-bit, 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 OpenJDK 64-bit Server VM предупреждение: Ако се очаква броят на процесорите да се увеличи от един, трябва да конфигурирате броя на паралелните 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 изисква да не можеш да стартираш с root на суперпотребител, така че можем да създадем акаунт неангажиращо, а аз трябва да използвам потребителя като es
Ако няма грешка, системата работи успешно
Отворете нов терминал и го достъпете с Curl
В случай на проверка дали сървърният порт (9200) е включен, започва elasticsearch (ps -ef | grep elasticsearch) може да се достъпи в браузъра
[root@VM_0_9_centos местен]# кърл 'http://localhost:9200/?pretty'
{ "име" : "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "версия" : { "число" : "6.5.2", "build_flavor" : "по подразбиране", "build_type" : "катран", "build_hash" : "9434 легла", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : false, "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] за Elastic Search е твърде нисък, увеличи се до поне [65536] Решение
След модификацията влезте отново при потребителя на ES и използвайте следната команда, за да проверите дали модификацията е успешна
Грешка 3
Java HotSpot(TM) 64-битов сървър VM предупреждение: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) не успя; error='Не може да се задели памет' (errno=12) Решение
вказа Али.Възможни проблеми на
системните филтри за повиквания не успяха да се инсталират; Провери логовете и оправи конфигурацията си или изключи филтрите за системни извиквания на собствен риск Решение: Добавете следната команда към конфигурацията elasticsearch
|