ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
本文安装ElasticSearch 5.6.8版本,基于ubuntu 16.04版本。
由于ElasticSearch是一个基于Lucene,虚拟机需要先安装jdk,可见文章:Linux系统安装JDK
ElasticSearch 安装包
ElasticSearch 安装包: https://pan.baidu.com/s/1vOo3uTbNpdhRgh9t2pbFiw
提取码: hjn5
安装步骤
- 通过Xftp将压缩包上传到/usr/local/elasticsearch文件夹中,解压。
tar -zxvf elasticsearch-6.2.4.tar.gz
- 由于ElasticSearch安装完成后不能使用root用户启动,我们先创建一个新的用户,这里以ronin
useradd -m ronin
设置用户密码
passwd ronin
-
修改ElasticSearch配置,进入config文件夹中,修改jvm.options文件中ElasticSearch的内存占用,如图所示,修改为512m。
-
修改elasticsearch.yml文件,先在elasticsearch文件中创建两个文件夹data和logs
mkdir data
mkdir logs
path.data: /home/leyou/elasticsearch/data # 数据目录位置
path.logs: /home/leyou/elasticsearch/logs # 日志目录位置
如图,
- 在elasticsearch.yml文件,修改绑定的IP
network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问
- 进入elasticsearch的bin目录中,启动elasticsearch
注意要使用刚才创建的ronin用户启动
切换用户
su - ronin
启动命令
./elasticsearch
启动之后可能会失败,报错如下图
解决方法:
编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p
重新启动,成功。
还有一种可能出现的错误:
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
解决方法:
编辑 /etc/security/limits.conf,追加以下内容;
* soft nofile 65536
* hard nofile 65536
此文件修改后需要重新登录用户,才会生效
- 启动elasticsearch
访问192.168.55.134:9200,见下图为启动成功!