架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3843|回复: 1

【实战】使用 Docker 部署 Elasticsearch 服务

[复制链接]
发表于 2021-11-10 22:10:14 | 显示全部楼层 |阅读模式
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
但是,Lucene只是一个库。想要发挥其强大的作用,你需使用Java并要将其集成到你的应用中。Lucene非常复杂,你需要深入的了解检索相关知识来理解它是如何工作的。
Elasticsearch也是使用Java编写并使用Lucene来建立索引并实现搜索功能,但是它的目的是通过简单连贯的RESTful API让全文搜索变得简单并隐藏Lucene的复杂性。

回顾:

【实战】Centos 7 安装部署elasticsearch-6.5.2教程
https://www.itsvse.com/thread-6173-1-1.html



【实战】elasticsearch-6.5.2安装elasticsearch-analysis-ik教程
https://www.itsvse.com/thread-6191-1-1.html

现在准备将服务器的应用和中间件转成容器化部署,使用 Docker 镜像部署只需要简单的几行命令或者一个 yml 文件,就可以将整套系统跑起来,抛弃传统部署的麻烦,例如:各种配置文件修改。最重要的,如果将服务做成无状态的,迁移起来也比较方便。

本文使用 elasticsearch:6.5.2 镜像作为演示教程,系统为:CentOS 8

安装 Docker

首先,需要安装 docker 服务,教程如下:

【实战】CentOS 7 安装 Docker 容器
https://www.itsvse.com/thread-9999-1-1.html

【实战】CentOS 8 安装 Docker 包冲突问题
https://www.itsvse.com/thread-10115-1-1.html

启动 Elasticsearch 应用

https://www.docker.elastic.co/ 提供了所有已发布 Docker 镜像和标签的列表

使用 elasticsearch:6.5.2 作为基础镜像,启动命令如下:


使用浏览器访问内网服务器 ip:9200 即可看到如下所示:

QQ截图20211110211426.jpg

{
  "name" : "YDBU8PG",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "VexaBtA2Q-qAZlwbvUHjXA",
  "version" : {
    "number" : "6.5.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "9434bed",
    "build_date" : "2018-11-29T23:58:20.891072Z",
    "build_snapshot" : false,
    "lucene_version" : "7.5.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

安装分词插件 elasticsearch-analysis-ik

我们需要进入到容器内来安装 IK 分词插件,命令如下:

进入到容器后,默认就进入到 /usr/share/elasticsearch 目录下面,安装插件命令如下:

QQ截图20211110212052.jpg

注意:elasticsearch-analysis-ik 的版本一定要和当前的 elasticsearch 版本相对应!

安装完成后,可以进入到 /usr/share/elasticsearch/config/analysis-ik 目录下面,找到 IKAnalyzer.cfg.xml  文件来自定义词库,示例如下:

配置完成后,在 /usr/share/elasticsearch/config/analysis-ik 下面上传自己的 my.dic 文件,可以通过 docker cp 命令将宿主机的文件复制到容器内部中,参考如下:

Docker容器和主机如何互相拷贝传输文件
https://www.itsvse.com/thread-5121-1-1.html

启动 elasticsearch-head 应用

同样,也可以使用 docker 命令创建一个 elasticsearch-head 应用,通过 elasticsearch-head 连接 elasticsearch 服务,命令如下:

【实战】elasticsearch-6.5.2安装elasticsearch-head插件
https://www.itsvse.com/thread-6190-1-1.html

QQ截图20211110213533.jpg

启动 Kibana 应用

当然,也可以安装 Kibana 来管理 elasticsearch 服务,Kibana 是一个开源分析和可视化平台,旨在与 Elasticsearch 配合使用。您可以使用 Kibana 搜索、查看存储在 Elasticsearch 索引中的数据并与之交互。您可以轻松地执行高级数据分析并在各种图表、表格和地图中可视化您的数据。参考如下:

【实战】Elasticsearch之Kibana安装教程
https://www.itsvse.com/thread-6400-1-1.html

也可以使用 docker 命令快速创建 kibana 应用,命令如下:

备注:--link 别名一定要使用 elasticsearch,使用其它的别名将会报错如下:

QQ截图20211110220022.jpg

启动完成后,访问 http://ip:5601/ 即可,如下图:

QQ截图20211110220716.jpg

与 Elasticsearch 相关产品的兼容性(5.x、6.x、7.x)可以参考如下:https://www.elastic.co/cn/support/matrix#matrix_compatibility

(完)





上一篇:Java java.util.AbstractMap.SimpleImmutableEntry 详解
下一篇:Spring 注解 @AutoConfigureBefore 和 @AutoConfigureAfter 的介绍
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-11-11 08:42:01 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-27 15:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表