Elasticsearch实践(一)用Docker搭建Elasticsearch集群

本文是关于使用Docker搭建Elasticsearch分布式集群的实践经验,包括Dockerfile定制ES镜像、安装分词器和插件、配置elasticsearch.yml以及利用Docker-Compose管理集群。此外,还提到了Logstash和Kibana的配合使用。
摘要由CSDN通过智能技术生成

前言

本系列文章主要是针对之前搭建以及实践基于springboot的搜索服务的总结。主要分为两部分:
1. 对于用Docker搭建分布式Elasticsearhc集群的一个介绍,以及一些实施中遇到问题的总结。(本篇)
2. 在基于Springboot的微服务体系中,如何更轻量级得使用Elasticsearhc以及一些复杂使用场景的总结:Elasticsearch实践(二)在Springboot微服务中集成搜索服务

搜索服务简述

结合业务的场景,在目前的商品体系需要构建搜索服务,主要是为了提供用户更丰富的检索场景以及高速,实时及性能稳定的搜索服务。作为使用Java技术栈的团队来说,可以选择使用比较好上手的三方搜索服务。另外一种选则就是搭建自己的搜索集群。结合自己公司的业务和场景来说,搭建搜索集群在投入使用后的成本可控,搜索服务和线上的其他微服务可以通过集群的内网IP通讯。

安装Elasticsearch的Docker镜像

目前Elasticsearch 版本到了5.X, Springboot 目前不支持5.X以上的elasticsearch。所以还是选择了2.2.4。

Dockerfile

关于ES的镜像,可以直接去Dockerhub上pull.但是官方版本一般都是ES的基础镜像,在实际的需求场景下,还需要安装一些插件,(比如ES的删除api插件。分词器插件等)所以可以选择pull基础镜像后,再重新tag,push到自己的镜像仓库中之后,用Dokcerfile重新build一个定制版的ES镜像。
如下就是一个基于基础镜像的,安装了analysis-ik分词器,以及ES官方的delete-by-query插件的dockerfile。定制完之后,重新tag然后push到自己的docker仓库就可以了。

FROM yourRegistry/elasticsearch:2.4.4
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update && apt-get install zip
RUN mkdir -p /usr/share/elasticsearch/plugins/ik
RUN cd /usr/share/elasticsearch/plugins/ik && wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v1.10.4/elasticsearch-analysis-ik-1.10.4.zip && unzip elasticsearch-analysis-ik-1.10.4.zip
RUN /usr/share/elasticsearch/bin/plugin install delete-by-query
分词器

关于分词器的选择,还是要根据不同的场景去判断。因为ES对于中文分词做的比较差,所以中文分词一般都需要另外安装其他分词器插件。本文以分词器ik为例。
需要注意的是Analysis-ik 的官方的插件版本需要和安装的Elasticsearch版本一致。具体的使用版本可以在官方的版本列表中查询:
Analysis-ik版本

Elasticsearch其他插件

在上述的Dockerfile 中添加了 delete-by-query插件。delete-by-query插件提供了对于多个Document的删除API。还可以选择的插件有:Elasticsearch API extension plugins
添加方式也是类似,在Dockerfile中添加 RUN /usr/share/elasticsearch/bin/plugin install XX 即可。

elasticsearch.yml配置

Elasticsearch 最重要的配置文件就是elasticsearch.yml了。在elasticsearch.yml 中需要配置ES集群的信息。具体配置内容如下(一下只是一个举例:
配置E

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值