前言
最近,项目需要使用elasticsearch,所以就想快速安装一个使用,最开始是docker安装了7.10.1版本。
后面计划使用Java开发,发现有 RestHighLevelClient 和 Elasticsearch Java API Client两种客户端连接方式。
然后网上查阅了一下:
Elasticsearch RestHighLevelClient 已标记为被弃用 它的替代方案 Elasticsearch Java API Client 的基础教程及迁移方案_resthighlevelclient弃用-CSDN博客
在elasticsearch版本之后,elasticsearch官方将它的高级客户端RestHighLevelClient标记为弃用状态。同时推出了全新的Java API客户端Elasticsearch Java API Client,该客户端也将在elasticsearch8.0及以后版本中成为官方推荐使用的客户端。
Elasticsearch Java API Client 支持除 Vector tile search API 和 Find structure API 之外的所有 Elasticsearch API。且支持所有API数据类型,并且不再有原始JsonValue属性。它是针对Elasticsearch8.0及之后版本的客户端,目前Elasticsearch已经更新至8.0.1,所以我们需要学习新的Elasticsearch Java API Client的使用方法。
版本选择
基于上面的原因,在对两种Java客户端都不熟悉的前提下。决定安装7.17.6 这个版本。这个版本是7的大版本,elasticsearch 7.15版本之后,可以同时支持两种Java客户端,方便后续灵活选择java客户端开发。
因此,在我们安装之前,确定自己熟悉哪种elasticsearch客户端,以及elasticsearch不同版本的特性,决定选择什么版本。
一下内容都是基于elasticsearch 7.17.6版本:
安装elasticsearch
参考文档:(文档中包含中文分词器的使用)
elasticsearch安装ik中文分词器-CSDN博客
下载镜像
下载镜像,并将镜像上传到自己的私有仓库 : harbor.nl.com/es/elasticsearch:7.17.6
docker pull elasticsearch:7.17.6
修改系统参数
vi /etc/sysctl.conf
调整参数
vm.max_map_count=262144
刷新参数
sysctl -p
创建相关目录
mkdir -p /data/elk7/elasticsearch/{data,logs,config,plugins}
安装ik中文插件
打开github地址:https://github.com/medcl/elasticsearch-analysis-ik
打开releases页面,下载7.17.6版本
注意:这个版本,必须和elasticsearch对应。
下载完成后,将文件elasticsearch-analysis-ik-7.17.6.zip上传到/opt目录
解压到指定目录
mkdir /data/elk7/elasticsearch/plugins/elasticsearch-analysis-ik
unzip /opt/elasticsearch-analysis-ik-7.10.1.zip -d /data/elk7/elasticsearch/plugins/elasticsearch-analysis-ik
设置文件权限
chmod 777 -R /data/elk7/elasticsearch/
配置文件
内容如下:
vi /data/elk7/elasticsearch/config/elasticsearch.yml
cluster.name: "docker-cluster"
node.name: "master"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
启动elasticsearch
以单例模式启动
创建网络
docker network create es-net
启动
docker run -d --name=elasticsearch \
--restart=always \
--privileged \
--network es-net \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-v /data/elk7/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /data/elk7/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elk7/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /data/elk7/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
harbor.nl.com/es/elasticsearch:7.17.6
等待30秒左右,查看docker日志,是否有错误日志
docker logs -f elasticsearch
访问elasticsearch页面,修改对应的ip
http://ip:9200/
注意:这里是挂载的plugins目录,用来存放插件的。
查看插件接口
http://ip:9200/_cat/plugins
输出:
e30bb0e85e63 analysis-ik 7.17.6
说明插件安装成功了。
安装 elasticsearch-head和kibana
Docker安装Elasticsearch及相关插件详细步骤,全程亲测避坑_冰糖码奇朵的博客-CSDN博客
集群安装
docker简易搭建ElasticSearch集群(es)_docker 部署es集群-CSDN博客
6.1 Elasticsearch(一)Docker搭建ES集群-CSDN博客