Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
本文章参考了这里:Elasticsearch7.8.1从入门到精通,有兴趣的小伙伴可以去看看,写的很详细。
项目需要使用ElasticSearch搜索引擎。所以使用虚拟机开始学习。虚拟机安装可以参考:虚拟机安装。
之前已经安装了JDK11,安装方法可以参考:Centos安装jdk。
本次安装elasticsearch和ik分词器,前期准备:
elasticsearch安装包,下载地址:elasticsearch下载。
ik分词器,下载地址:IK分词器下载。
开始安装之前,先关闭防火墙,并注销服务(正式服务器不要这样配置):
systemctl stop firewalld
systemctl mask firewalld
准备好后,开始安装elasticsearch。
1、我这次将安装包放在了/usr/local目录下,开始安装。
cd /usr/local/
tar -zxvf elasticsearch-7.8.1-linux-x86_64.tar.gz
2、修改elasticsearch/config目录下的elasticsearch.yml文件,主要修改如下内容:
cluster.name: my-application #打开注释
node.name: node-1 #打开注释
network.host: 0.0.0.0 #打开注释并修改
http.port: 9200 #打开注释
discovery.seed_hosts: ["127.0.0.1", "[::1]"] #打开注释并修改
cluster.initial_master_nodes: ["node-1"] #打开注释并修改
# 以下需要添加
bootstrap.system_call_filter: false
http.cors.allow-origin: "*"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true
3、修改elasticsearch/bin目录下elasticsearch-env文件:
4、添加组和用户,因为启动elasticsearch不能使用root启动,所以要添加相应的用户来启动。
#添加用户组,语法:groupadd 组名
groupadd es
#添加用户,并将用户添加到组中,语法:useradd 用户名 -p 密码 -g 组名
useradd els -p 123456 -g es
# 给用户组授权,语法:chown -R 用户:组名 es安装完整路径
chown -R els:es /usr/local/elasticsearch-7.8.1
5、切换用户,切换为刚才创建的els用户:
su els
6、启动elasticsearch服务,切换到elasticsearch/bin目录下,执行指令:
sh elasticsearch
7、启动后报错如下:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3870] for user [els] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:
1、vi /etc/security/limits.conf文件,添加
* soft nofile 65535
* hard nofile 65535
* soft nproc 4096
* hard nproc 4096
3、vi /etc/sysctl.conf 文件,添加
vm.max_map_count=262144
8、重启虚拟机,然后再使用els用户参考第6步启动elastic服务。启动完成后,使用浏览器访问:http://ip:9200,如下图所示表示启动成功。
9、IK分词器配置。注意ik分词器版本要跟elastic版本保持一直,也用7.8.1。将下载完的elasticsearch-analysis-ik-7.8.1放在elasticsearch/plugins目录下。
[root@localhost plugins]# ll
总用量 4400
drwxr-xr-x. 3 root root 243 4月 9 09:58 elasticsearch-analysis-ik-7.8.1
-rw-r--r--. 1 root root 4504444 4月 9 09:51 elasticsearch-analysis-ik-7.8.1.zip
10、重启elasticsearch服务即可。