Docker上安装部署Elasticsearch(ES)详细教程

这篇具有很好参考价值的文章主要介绍了Docker上安装部署Elasticsearch(ES)详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 前言 

ElasticSearch(简称ES)

是一个支持海量搜索引擎服务,当一个分布式系统需要支持海量搜索服务时都会优先上ES。因此掌握ES技术也是一门进入大厂拿高薪的必修课,笔者一直在追求深入掌握ES技术,一方面希望自己有机会还能进大厂并站稳脚跟。退一步讲就算进不了大厂,自己也要能具备做出大厂程序员能做出来的产品,到那时就算自己经营一个日活上万的网站或者App也能有一份不错的收入。

之所以会选择7.12版本的ES是因为这个版本的ES算是一个比较新稳定的新版本,与之关联的Kibana版本的界面也有了较大的更新,所以选择了安装这个版本的ES。笔者之前在Linux和Windows系统下也安装过单独的ES服务,但是发现都安装和配置非常麻烦,还容易报各种安装失败的错误。后来看到很多大牛都推荐使用Docker安装贼顺利,而且还方便维护,于是笔者也尝试在自己的云服务器中使用Docker安装ES和Kibana及中文分词器,下面我们正式进入安装步骤,本文假设读者已经在自己的云服务器中安装好了Docker服务,并通过执行systemctl start docker.service 命令启动了Docker服务。

1. 创建网络

因为我们还需要部署kibana容器,因此需要让es和kibana容器互联,这里先创建一个网络。

使用FinalShell登录自己的Linux云服务器客户端(阿里云或腾讯云)

docker network create es-net

2.加载镜像 

执行 cd /usr/local进入云服务器的 /usr/local目录执行拉取ES和Kibana安装包的docker命令

docker pull elasticsearch:7.12.1

docker pull kibana:7.12.1

这个elasticsearch镜像体积非常大,接近1G。

docker安装elasticsearch 9300,docker,elasticsearch,容器 

3.运行容器

执行如下docker命令运行ES服务:

docker run -d \
  --name es \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v es-data:/usr/local/elasticsearch7.12.1/data \
    -v es-plugins:/usr/local/elasticsearch7.12.1/plugins \
    -v es-logs:/usr/local/elasticsearch7.12.1/logs \
    --privileged \
    --network es-net \
    -p 9200:9200 \
    -p 9300:9300 \
elasticsearch:7.12.1

命令解释:

  • -e "cluster.name=es-docker-cluster":设置集群名称
  • -e "http.host=0.0.0.0":监听的地址,可以外网访问
  • -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":分配内存大小
  • -e "discovery.type=single-node":单节点模式
  • -v es-data:/usr/local/elasticsearch7.12.1/data:挂载逻辑卷,绑定es的数据目录
  • -v es-logs:/usr/local/elasticsearch7.12.1/logs:挂载逻辑卷,绑定es的日志目录
  • -v es-plugins:/usr/local/elasticsearch7.12.1/plugins:挂载逻辑卷,绑定es的插件目录
  • --privileged:授予逻辑卷访问权
  • --network es-net :加入一个名为es-net的网络中
  • -p 9200:9200:端口映射配置

开通9200端口防火墙

执行如下命令开通9200端口防火墙

# 开放9200端口用于http通信

firewall-cmd --zone=public --add-port=9200/tcp --permanent

# 开放9300端口用于ES集群间通信

firewall-cmd --zone=public --add-port=9300/tcp --permanent

# 重新加载防火墙使开放的端口即时生效

firewall-cmd --reload

# 查看开放的公共端口列表

firewall-cmd --zone=public --list-ports 

同时需要登录云服务器控制台通过【服务器详情】-> 【防火墙】菜单下点击【添加规则】,在弹出的对话框中分别添加9200和9300端口,如下所示:

docker安装elasticsearch 9300,docker,elasticsearch,容器

 

验证安装结果

在浏览器地址栏中输入URL:http://<你的云服务器公网IP地址>:9200/

返回如下结果表示Docker安装和运行ElasticSearch服务成功

 docker安装elasticsearch 9300,docker,elasticsearch,容器

可以看到7.12版本的ES对应的lucene引擎已经到了8.8.0版本,可见ES的升级也是非常快的,最新的ES已经来到8以上版本。

4. 部署Kibana 

Kibana 使操作ES数据的可视化界面,使用Kibana 操作ES非常方便。

/usr/local目录执行如下docker命令

docker run -d \ 
--name kibana \ 
-e ELASTICSEARCH_HOSTS=http://es:9200 \ 
--network=es-net \ 
-p 5601:5601  \ 
kibana:7.12.1
  • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
  • -e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
  • -p 5601:5601:端口映射配置,
  • 命令解释:
  • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
  • -e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
  • -p 5601:5601:端口映射配置

 kibana启动一般比较慢,需要多等待一会,可以通过命令:

docker logs -f kibana

 docker安装elasticsearch 9300,docker,elasticsearch,容器

也可以通过浏览器访问:http://<你的云服务器公网IP地址>:5601/app/home#/

docker安装elasticsearch 9300,docker,elasticsearch,容器 

kibana Home界面右上角中提供了一个DevTools操作按钮,点击该按钮即可进入如下所示的开发操作界面: 

docker安装elasticsearch 9300,docker,elasticsearch,容器 

在左边的控制台输入框中输入如下命令,然后点击右上角的三角形按钮执行请求即可在右边的界面看到查询结果。

GET _search
{
  "query": {
    "match_all": {
      
    }
  }
}

这个界面中可以编写DSL来操作elasticsearch,并且对DSL语句有自动补全功能。从查询结果来看,ES创建的同时就已经自动创建了很多个文档集合,如:.kibana-event-log-7.12.1-000001和.kibana_7.12.1_001等。

5. 安装IK分词器

进入容器内部

docker exec -it es bash

复制

进入bin目录

cd /usr/share/elasticsearch/bin

复制

在线下载并安装

./elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

退出

exit

重启容器

docker restart es

K分词器包含两种模式:

  • ik_smart:最少切分
  • ik_max_word:最细切分

在左边的控制台输入框中输入如下中文分词请求:

GET _analyze
{
  "analyzer": "ik_smart",
  "text": "程序员青年阿福2023年发表的文章集合"
}

然后点击右边的执行请求按钮,可以看到右边的结果窗口返回如下结果

{
  "tokens" : [
    {
      "token" : "程序员",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "青年",
      "start_offset" : 3,
      "end_offset" : 5,
      "type" : "CN_WORD",
      "position" : 1
    },
    {
      "token" : "阿福",
      "start_offset" : 5,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 2
    },
    {
      "token" : "2023年",
      "start_offset" : 7,
      "end_offset" : 12,
      "type" : "TYPE_CQUAN",
      "position" : 3
    },
    {
      "token" : "发表",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "CN_WORD",
      "position" : 4
    },
    {
      "token" : "的",
      "start_offset" : 14,
      "end_offset" : 15,
      "type" : "CN_CHAR",
      "position" : 5
    },
    {
      "token" : "文章",
      "start_offset" : 15,
      "end_offset" : 17,
      "type" : "CN_WORD",
      "position" : 6
    },
    {
      "token" : "集合",
      "start_offset" : 17,
      "end_offset" : 19,
      "type" : "CN_WORD",
      "position" : 7
    }
  ]
}

可以看到一句中文"程序员青年阿福2023年发表的文章集合"被ik_smart类型的中文分词器拆分成了7个token对象,每个token对象包含了token、start_offset(开始位移)、end_offset(结束位移)、type(类型)和position(位置)等5个字段。

参考文献:Docker 安装7.12.1版本ElasticSearch、Kibana及中文分词器-腾讯云开发者社区-腾讯云 (tencent.com)文章来源地址https://www.toymoban.com/news/detail-763480.html

​​​

到了这里,关于Docker上安装部署Elasticsearch(ES)详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker安装ElasticSearch8.X docker安装elasticsearch8.X完整详细教程

    Docker常用命令大全 Docker ElasticSearch 官方仓库 Docker 生产环境安装Elasticsearch教程 我这边选择的版本是 docker pull elasticsearch:8.8.1 在终端中执行以下命令以拉取 docker pull elasticsearch:8.8.1 根据自己使用过的版本: 使用以下命令创建一个新的 elasticsearch 容器并将其启动: --name 是 容器

    2024年02月15日
    浏览(33)
  • ELK实战,Linux版docker安装ElasticSearch、ES-head、Logstash、Kiabana入门,无坑详细图解

            项目需要,记录一次ELK日志分析系统无坑初始安装过程,并给大家整理出了操作elasticsearch的主要命令,elasticsearch!伙伴们都懂得哦!别的不多说,看过内容概览,直接开整!!! 1-1 修改/etc/security/limits.conf limits.conf文件限制着用户可以使用的最大文件数,最大线

    2023年04月09日
    浏览(30)
  • Docker安装ElasticSearch/ES

    TencentOS Server 3.1 Docker version 19.03.14, build 5eb3275d40 elasticsearch: 8.9.0 1. 安装docker 安装 docker 参考:【Centos 8】【Centos 7】安装 docker 2. 搜索可以使用的镜像。 3. 也可从docker hub上搜索镜像。 docker hub,docker hub-stage。 4. 选择合适的redis镜像。 查找镜像。 版本 拉取命令 最新版本 docke

    2024年02月17日
    浏览(27)
  • Docker安装ElasticSearch/ES 7.10.0

    TencentOS Server 3.1 Docker version 19.03.14, build 5eb3275d40 elasticsearch: 7.10.0 1. 安装docker 安装 docker 参考:【Centos 8】【Centos 7】安装 docker 2. 搜索可以使用的镜像。 3. 也可从docker hub上搜索镜像。 docker hub,docker hub-stage。 4. 选择合适的redis镜像。 版本 拉取命令 最新版本 docker pull elastics

    2024年02月04日
    浏览(41)
  • Docker安装ElasticSearch/ES 7.4.0

    TencentOS Server 3.1 Docker version 19.03.14, build 5eb3275d40 elasticsearch: 7.4.0 1. 安装docker 安装 docker 参考:【Centos 8】【Centos 7】安装 docker 2. 搜索可以使用的镜像。 3. 也可从docker hub上搜索镜像。 docker hub,docker hub-stage。 4. 选择合适的redis镜像。 版本 拉取命令 最新版本 docker pull elasticse

    2024年02月13日
    浏览(27)
  • Docker安装ElasticSearch/ES 8.9.0

    TencentOS Server 3.1 Docker version 19.03.14, build 5eb3275d40 elasticsearch: 8.9.0 1. 安装docker 安装 docker 参考:【Centos 8】【Centos 7】安装 docker 2. 搜索可以使用的镜像。 3. 也可从docker hub上搜索镜像。 docker hub,docker hub-stage。 4. 选择合适的redis镜像。 查找镜像。 版本 拉取命令 最新版本 docke

    2024年02月12日
    浏览(24)
  • 【ElasticSearch】docker下载安装ElasticSearch(详细)

      各位小伙伴们大家好,欢迎来到这个小扎扎的ElasticSearch专栏,本篇博客由B战尚硅谷的ElasticSearch视频总结而来,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛   镜像拉取,如果不加 :7.8.0 的话,默认拉取最新版本的镜像   查询镜像   创建

    2024年03月19日
    浏览(51)
  • Docker安装部署ElasticSearch

    因为我们还需要部署 kibana 容器,因此需要让 ElasticSearch 和 kibana 容器互联。这里先创建一个网络: 考虑到 ElasticSearch 的兼容性,这里 ElasticSearch 、 kibana 统一下载 8.6.2 版本 注意第一次执行脚本不要加 -d 这个参数,否则看不到服务首次运行时生成的随机密码和随机 enrollment

    2024年02月03日
    浏览(31)
  • 【docker】使用docker安装部署elasticsearch+Kibana

    elasticsearch安装之后,十分消耗内存资源,需要手动配置限制内存大小。 elasticsearch和Kibana安装时,版本号需要一致。 本实验采用的Linux系统是 CentOS Linux release 7.9.2009 (Core) ,docker版本是 20.10.14 elasticsearch和kibana版本都是 8.2.0 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分

    2024年02月02日
    浏览(40)
  • Elasticsearch——Docker单机部署安装

    Elasticsearch是一个开源的分布式搜索和分析引擎,使用Lucene库来实现全文搜索功能。本文将介绍如何使用Docker在单机上部署和安装Elasticsearch。 首先,你需要安装Docker引擎。你可以按照官方文档的指引完成安装过程。确保你的操作系统满足Docker的最低硬件要求。 为了加快Docke

    2024年02月10日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包