docker部署elasticsearch+kibana+head

       前言

         最近,项目需要使用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/

 docker部署elasticsearch+kibana+head_第1张图片

注意:这里是挂载的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博客

你可能感兴趣的:(elasticSearch,docker,elasticsearch,容器)