本文前提

Linux上已安装jdk

本文目标

在Linux上安装elasticsearch并安装中文分词

安装ElasticSearch(ES)

1.官网下载

官网链接:链接
因为后续还要安装ik中文分词,而ES和ik的版本要对应上,所以建议到ik上看看有没有对应版本的中文分词
ik链接:链接
还有一点需要注意的,jdk8不支持es8.0以上版本
我选择7.17.6版本,ES和IK都有对应版本,而且jdk8也支持

2.上传文件

先创建文件夹

mkdir /usr/es

然后把文件传到这个文件夹,finalshell比较方便,直接拖进去

3.解压文件

cd /usr/es
tar -zxvf elasticsearch-7.17.6-linux-x86_64.tar.gz

4.Linux配置

运行之前有些Linux的配置需要改一下

vi /etc/security/limits.conf

增加如下两行内容,最前面有星号,不要漏了

* soft nofile 65536
* hard nofile 65536

还有一处地方也要改

vi /etc/sysctl.conf

增加下面一行内容

vm.max_map_count=262144

以上改动需要重启虚拟机以生效
重启后验证改动

#看结果是不是vm.max_map_count = 262144
sysctl -p

#看结果是不是65536
ulimit -Hn
ulimit -Sn

5.ES配置远程访问

 vi /usr/es/elasticsearch-7.17.6/config/elasticsearch.yml

找到network.host,改为

network.host: 0.0.0.0

添加如下两行

discovery.seed_hosts: ["127.0.0.1"]

cluster.initial_master_nodes: ["node-1"]

6.运行

cd elasticsearch-7.17.6/bin/
./elasticsearch

这里一般会报错,所以需要切换为非root用户
image.png

7.创建用户

#创建名为esuser的用户
 adduser esuser
#设置密码
 passwd esuser
#授权 ,/usr/es/为es的安装目录
chown -R esuser /usr/es/
#切换到esuser用户
su esuser

8. 运行

#切换到esuser用户
su esuser
#切换到安装目录
cd elasticsearch-7.17.6/bin/
./elasticsearch -d

-d 参数代表后台运行,如果没有-d参数就是前台运行

9.验证

我选的是后台运行,过一会后如果没有报错,就输入以下命令验证

 curl http://127.0.0.1:9200

image.png
如果启动报错,就先解决问题

10.重启es的方法
暂时只能想到kill进程来结束

#列出es进程
ps aux|grep elasticsearch
#kill第一个进程
kill -9 进程号

#然后重新启动

安装中文分词IK

1.下载

ik链接:链接
注意要跟ES版本一致

2.创建目录

cd /usr/es/elasticsearch-7.17.6
mkdir plugins/ik

3.文件上传

把下载的文件上传到/usr/es/elasticsearch-7.17.6/plugins/ik目录下

4.解压

unzip elasticsearch-analysis-ik-7.17.6.zip 

5.重启ES

#列出es进程
ps aux|grep elasticsearch
#kill第一个进程
kill -9 进程号

cd /usr/es/elasticsearch-7.17.6/bin/
./elasticsearch -d

6.验证分词效果

Linux终端输入如下命令

curl --location --request POST 'http://127.0.0.1:9200/_analyze' --header 'Content-Type: application/json' --data '{"analyzer": "ik_max_word","text": "我是中国人"}'

等风来
39 声望5 粉丝