【Elasticsearch6】安装笔记

字数 940阅读 1339

🎯前面

官方定位:搜索、分析和存储您的数据。

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。

🎯安装环境

Elasticsearch基于Java运行环境,安装之前确保服务器已经安装JRE或者JDK。

openjdk version "1.8.0_141"
CentOS 7.3
Elasticsearch 6.1.1

传送门:
官网下载地址:https://www.elastic.co/downloads/elasticsearch
(我下载的是zip包)

官网截图

直接下载到本地在上传到服务器,或者wget方式到自己的服务器随你咯。

🎯安装步骤

  1. 在系统新建一个用户(因为ES不允许使用root用户启动),如elasticsearchuseradd elasticsearch,然后passwd elasticsearch设置一个密码,然后把密码保存在自己的小本本上。
  2. 切换到新建的用户:su elasticsearch
  3. 上传下载的文件(或者在服务器上自行下载wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.zip)。
  4. unzip解压下载的文件,unzip elasticsearch-6.1.1.zip
  5. cd elasticsearch-6.1.1,然后执行bin/elasticsearch
  6. curl http://localhost:9200/,如果正常输出结果,表示服务成功启动。

此时,ES已经监听本地localhost:9200端口了,但是在其它机器通过服务器外网IP+端口是访问不到的,如果想在其它机器访问,需要额外配置:

修改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),如果系统关键配置不符合启动要求,检查不能通过,启动失败。

解决问题:

  1. 通过root用户登录服务器
  2. vi /etc/security/limits.conf
  3. 在文件结尾添加如下内容,其中elasticsearch上面创建的用户,后面配置的数字就是上面报错信息对应的建议值。
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536

elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
  1. 重新使用elasticsearch用户登录,如果之前有窗口打开也请关闭,重新打开窗口登录。
  2. 再次启动服务,应该成功启动了。如果还是有报错,Google吧,青年!

错误二

[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 可以实现后台启动

推荐阅读更多精彩内容