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

使用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的结合使用。


http://www.kler.cn/news/304294.html

相关文章:

  • 内蒙古优质农畜产品天津推介会成功举办
  • 【C++学习笔记】逻辑判断语句与循环语句(二)
  • 算法41:位1的个数
  • 赎金信--力扣383
  • 『功能项目』战士的伤害型技能【45】
  • ubuntu安装containerd,取代docker
  • Java面试题——第七篇(Java Web)
  • Redis 篇-深入了解基于 Redis 实现消息队列(比较基于 List 实现消息队列、基于 PubSub 发布订阅模型之间的区别)
  • mfc140u.dll丢失有啥方法能够进行修复?分享几种mfc140u.dll丢失的解决办法
  • 从零实现诗词GPT大模型:实现多头自注意力
  • 灌区信息化发展趋势展望
  • 基于MATLAB的图像融合设计
  • 2024年9月中国数据库排行榜:openGauss系多点开花,根社区优势明显
  • Linux进阶命令-sortwc
  • [Web安全 网络安全]-文件上传漏洞
  • 创建者设计模式
  • 使用 React Testing Library 测试自定义 React Hooks
  • 《自然语言处理 Transformer 模型详解》
  • OpenCV GUI常用函数详解
  • uniapp媒体
  • ACE之ACE_Reactor_Notify
  • IHostedLifecycleService是如何管理后台任务的
  • linux-L3_linux 查看进程(node-red)
  • 如何防止ZIP压缩文件被随意打开?
  • union和union all的区别,别再傻傻分不清楚了!
  • 多模态学习
  • 算法练习题20——猴子选大王(模拟)
  • 【鸿蒙】HarmonyOS NEXT星河入门到实战9-组件化开发进阶应用状态管理
  • [SC]Windows VS2022下配置SystemC环境
  • web前端-HTML常用标签(三)