当前位置: 首页 > news >正文

使用Docker快速安装和运行Elasticsearch

Elasticsearch(简称ES)是一个支持海量数据的搜索引擎服务,广泛应用于大数据处理和实时分析。随着大数据时代的到来,掌握ES技术已成为进入大厂和获取高薪的关键技能之一。本文将详细介绍如何在Docker上安装和部署Elasticsearch,包括如何配置网络、运行容器、安装IK分词器等。

1. 创建网络

在部署Elasticsearch和Kibana之前,我们需要创建一个网络,以便这两个服务能够相互通信。在服务器上执行以下命令创建一个名为es-net的网络:

docker network create es-net

2. 拉取镜像

接下来,我们需要从Docker Hub拉取Elasticsearch和Kibana的镜像。这里我们使用的是7.17.18版本,因为它是一个稳定且较新的版本。在/usr/local目录下执行以下命令:

docker pull elasticsearch:7.17.18
docker pull kibana:7.17.18

3. 运行Elasticsearch容器

使用Docker命令运行Elasticsearch容器,并配置必要的环境变量和卷。以下是运行命令:

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

4. 配置防火墙

为了能够从外部访问Elasticsearch,我们需要在服务器上配置防火墙规则,开放9200和9300端口:

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

5. 验证安装结果

在浏览器中输入http://<你的云服务器公网IP地址>:9200/,如果看到Elasticsearch的欢迎信息,说明安装成功。
http://localhost:9200/

6. 部署Kibana

Kibana是Elasticsearch的可视化工具,可以帮助我们更方便地操作和管理Elasticsearch。在/usr/local目录下执行以下命令部署Kibana:
http://localhost:5601/app/home#/

docker run -d \--name kibana \-e ELASTICSEARCH_HOSTS=http://es:9200 \--network=es-net \-p 5601:5601 \kibana:7.17.18
docker run -d --name kibana -e ELASTICSEARCH_HOSTS=http://es:9200 --network=es-net -p 5601:5601 kibana:7.17.18

7. 安装IK分词器

IK分词器是Elasticsearch的中文分词插件,可以帮助我们更好地处理中文数据。首先,进入Elasticsearch容器:

docker exec -it es bash

然后,下载并安装IK分词器:

cd /usr/share/elasticsearch/bin
./elasticsearch-plugin install https://github.com/infinilabs/analysis-ik/releases/download/v7.17.18/elasticsearch-analysis-ik-7.17.18.zip

退出容器并重启Elasticsearch服务:

exit
docker restart es

8. 测试IK分词器

在Kibana的DevTools控制台中输入以下命令测试IK分词器:

GET _analyze
{"analyzer": "ik_smart","text": "测试IK分词器"
}

如果返回的结果正确,说明IK分词器已经成功安装并可以使用。

总结

通过上述步骤,我们可以在Docker上快速安装和部署Elasticsearch及其相关组件。这种方法不仅简化了安装过程,还方便了后续的维护和管理。希望这篇文章能帮助你快速上手Elasticsearch和Docker的结合使用。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Android】SurfaceFlinger Dumpsys信息分析
  • openVX加速-结合AI推理引擎代码示例
  • 集群聊天服务器项目【C++】(三)muduo库的简单介绍
  • 网页模板该怎么选
  • MVC 控制器
  • Java | Leetcode Java题解之第401题二进制手表
  • yolov8 rect batch_shapes 672 图像大小变化
  • PHP智驭未来悦享生活智慧小区物业管理小程序系统源码
  • Java的发展史与前景
  • SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者
  • 4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)
  • 高效数据移动指南 | 如何快速实现数据库 MySQL 到 MongoDB 的数据同步?
  • Python selenium 破解腾讯滑块行为验证码
  • 【Hadoop|MapReduce篇】Hadoop序列化概述
  • 【运维监控】influxdb 2.0+grafana 监控java 虚拟机以及方法耗时情况(完整版)
  • CEF与代理
  • mongodb--安装和初步使用教程
  • Nodejs和JavaWeb协助开发
  • PaddlePaddle-GitHub的正确打开姿势
  • vue:响应原理
  • windows下mongoDB的环境配置
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 二维平面内的碰撞检测【一】
  • 你不可错过的前端面试题(一)
  • 设计模式 开闭原则
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 回归生活:清理微信公众号
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • (42)STM32——LCD显示屏实验笔记
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)进入MySQL 【事务】
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)认识微服务
  • (转)ABI是什么
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)Unity3DUnity3D在android下调试
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .NET Core Web APi类库如何内嵌运行?
  • .net 按比例显示图片的缩略图
  • .NET 快速重构概要1
  • .Net中的设计模式——Factory Method模式
  • .NET中统一的存储过程调用方法(收藏)
  • .net中应用SQL缓存(实例使用)
  • @Builder用法
  • @test注解_Spring 自定义注解你了解过吗?
  • @Transactional 参数详解
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器