版本说明
Elasticsearch7.x默认对应jdk版本为11
- JDK1.8
- SpringBoot2.2.10.RELEASE
- Elasticsearch6.8.20
Elasticsearch安装
- Elasticsearch默认不能使用root账号启动,所以先创建账号,并切换账号为es
# 创建账号es
adduser es
# 设置账号es密码
passwd es
# 切换账号到es
su es
-
下载Elasticsearch6.8.20安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.20.tar.gz -
解压
elasticsearch-6.8.20.tar.gz
tar -zxvf elasticsearch-6.8.20.tar.gz -
修改配置
vim elasticsearch-6.8.20/config/elasticsearch.yml
按实际情况修改上图中的配置
cluster.name 集群名称
node.name 节点名称
path.data 保存数据路径
path.logs 日志路径
network.host 允许访问的主机,设置成0.0.0.0 表示允许所有网络
http.port 端口号
- 创建上面配置的
path.data和path.logs相应目录 - 启动
# cd到elasticsearch安装目录下的bin路径
./elasticsearch #直接启动,退出后会停止
# ./elasticsearch -d #加上-d参数启动表示后台启动,命令退出后不会停止
如果启动时报以下错误
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
则切换到root账号执行vim /etc/sysctl.conf在文件末尾添加vm.max_map_count=262144然后保存退出,执行sysctl -p让配置生效。
最后切换回es账号,重新启动即可
- 添加中文分词器
analysis-ik
- 需要注意对应版本号,尽量使用和安装的elasticsearch版本一致
- 本例中elasticsearch的版本为6.8.20 分词器analysis-ik中没有一致的版本号,所以选用的是elasticsearch-analysis-ik-6.8.14,版本不同此处会有问题后面会讲
- 下载分词器
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.14/elasticsearch-analysis-ik-6.8.14.zip- 在elasticsearch安装目录下的
plugins路径下创建文件夹analysis-ik-6.8.14- 将下载的分词器解压到上面创建的目录下
unzip -d elasticsearch/plugins/analysis-ik-6.8.14 elasticsearch-analysis-ik-6.8.14.zip- 重启elasticsearch,由于elasticsearch没有直接停止的命令。所以查看其进程id,
ps -ef|grep elasticsearch。然后通过kill -9杀掉进程再启动./elasticsearch -d
- 修改分词器中elasticsearch的版本号配置
- 上述第7步中直接启动会失败。查看日志会发现以下错误
Plugin [analysis-ik] was built for Elasticsearch version 6.8.14 but version 6.8.20 is running- 原因是elasticsearch和分词器analysis-ik版本不一致
- 解决方法修改分词器的配置文件
plugin-descriptor.properties
vim elasticsearch/plugins/analysis-ik-6.8.14/plugin-descriptor.properties
找到最后一行将elasticsearch.version=6.8.14改为elasticsearch.version=6.8.20