官方定位:搜索、分析和存储您的数据。web
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并做为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,可以达到实时搜索,稳定,可靠,快速,安装使用方便。shell
咱们创建一个网站或应用程序,并要添加搜索功能,可是想要完成搜索工做的建立是很是困难的。咱们但愿搜索解决方案要运行速度快,咱们但愿能有一个零配置和一个彻底免费的搜索模式,咱们但愿可以简单地使用JSON经过HTTP来索引数据,咱们但愿咱们的搜索服务器始终可用,咱们但愿可以从一台开始并扩展到数百台,咱们要实时搜索,咱们要简单的多租户,咱们但愿创建一个云的解决方案。所以咱们利用Elasticsearch来解决全部这些问题以及可能出现的更多其它问题。bootstrap
Elasticsearch基于Java运行环境,安装以前确保服务器已经安装JRE或者JDK。浏览器
openjdk version "1.8.0_141" CentOS 7.3 Elasticsearch 6.1.1bash
传送门: 官网下载地址:www.elastic.co/downloads/e… (我下载的是zip包) 服务器
直接下载到本地在上传到服务器,或者wget方式到本身的服务器随你咯。curl
elasticsearch
,useradd elasticsearch
,而后passwd elasticsearch
设置一个密码,而后把密码保存在本身的小本本上。su elasticsearch
。wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.zip
)。unzip elasticsearch-6.1.1.zip
。cd elasticsearch-6.1.1
,而后执行bin/elasticsearch
。curl http://localhost:9200/
,若是正常输出结果,表示服务成功启动。此时,ES已经监听本地localhost:9200端口了,可是在其它机器经过服务器外网IP+端口
是访问不到的,若是想在其它机器访问,须要额外配置:elasticsearch
修改elasticsearch-6.1.1/config
目录下的elasticsearch.yml
文件中的network.host
值改成0.0.0.0
分布式
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [3889] for user [elasticsearch] is too low, increase to at least [4096]
复制代码
ES再启动的时候会检查一些关键配置(Bootstrap Checks),若是系统关键配置不符合启动要求,检查不能经过,启动失败。网站
解决问题:
vi /etc/security/limits.conf
elasticsearch
上面建立的用户,后面配置的数字就是上面报错信息对应的建议值。elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
复制代码
elasticsearch
用户登陆,若是以前有窗口打开也请关闭,从新打开窗口登陆。[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-04-26T09:09:49,533][INFO ][o.e.n.Node] [reyPF0X] stopping ...
[2018-04-26T09:09:49,571][INFO ][o.e.n.Node] [reyPF0X] stopped
[2018-04-26T09:09:49,571][INFO ][o.e.n.Node] [reyPF0X] closing ...
[2018-04-26T09:09:49,593][INFO ][o.e.n.Node] [reyPF0X] closed
复制代码
解决:
1.使用root用户登陆:
vi /etc/sysctl.conf
复制代码
2.添加下面配置:
vm.max_map_count=655360
复制代码
3.执行命令:
sysctl -p
复制代码
从新启动elasticsearch
至此,经过浏览器访问服务器IP:9200
,应该会看到相似以下内容。
Tips:
bin/elasticsearch -d
能够实现后台启动