快速上手 Elasticsearch:Docker Compose 部署详解

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文介绍了如何使用Docker Compose快速搭建Elasticsearch学习环境。Elasticsearch是一款用于实时搜索和分析的分布式中间件,适用于多种场景,如搜索、日志分析、机器学习等。首先,创建docker网络,拉取最新版8.12.2镜像。接着,编写docker-compose.yml文件,配置单节点集群,设置端口映射、内存限制及数据卷挂载。然后,创建并配置数据卷目录,允许远程访问和跨域。最后,启动服务并验证,通过浏览器访问确认服务运行正常。本文为初学者提供了一个简便的Elasticsearch部署方法。

最近面试竞争日益激烈,Elasticsearch作为一款广泛应用的中间件,几乎成为面试中必考的知识点。最近,AIGC也备受关注,而好多的AI项目中也采用了Elasticsearch作为向量数据库,因此我们迫切希望学习Elasticsearch。对于学习,我们决定从搭建环境开始入手。在本文中,我们将介绍如何利用Docker Compose快速搭建Elasticsearch学习环境。

elasticsearch.jpg

简介

Elasticsearch为各种类型的数据提供几乎实时的搜索和分析。无论您拥有结构化还是非结构化文本、数值数据还是地理空间数据,Elasticsearch都可以高效地存储和索引它,以支持快速搜索。您可以远不止简单地检索数据,还可以聚合信息以发现数据中的趋势和模式。随着数据和查询量的增长,Elasticsearch的分布式特性使得您的部署可以与之无缝增长。

Elasticsearch有如下常见的使用场景:

  • 为应用程序或网站添加搜索框
  • 存储和分析日志、指标和安全事件数据
  • 使用机器学习实时自动建模数据行为
  • 将Elasticsearch用作向量数据库来创建、存储和搜索向量嵌入
  • 使用Elasticsearch作为存储引擎自动化业务工作流程
  • 使用Elasticsearch作为地理信息系统(GIS)来管理、集成和分析空间信息
  • 利用Elasticsearch作为生物信息学研究工具存储和处理基因数据

文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

部署

第一步:创建network,拉去镜像

创建network

docker network create elastic

拉去镜像,我们此处使用的是最新的版本8.12.2

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2

第二步:创建docker-compose.yml

在我们的服务器上创建我们的部署目录,在部署目录下创建docker-compose.yml文件

docker-compose.yml

version: '3.8'
services:
  es01:
    container_name: es01
    image: docker.elastic.co/elasticsearch/elasticsearch:8.12.2
    environment:
      - discovery.type=single-node
      - ELASTIC_PASSWORD=xj2024
      - TZ=Asia/Shanghai
    ports:
      - "9200:9200"
      - "9300:9300"
    mem_limit: 1g
    volumes:
      - ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./es/data:/usr/share/elasticsearch/data
      - ./es/plugins:/usr/share/elasticsearch/plugins
    networks:
      - elastic

networks:
  elastic:
    external: true

第三步:创建数据卷目录

创建挂载目录./es/config,./es/data,./es/plugins,赋予读写权限

chmod -R 777 ./es

创建配置文件elasticsearch.yml,内容如下:

# 配置host为0.0.0.0 允许远程访问
http.host: 0.0.0.0
# 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
# 开启密码访问
xpack.security.enabled: true

第四步:启动服务

在 docker-compose.yml的同级目录下执行如下命令启动服务:

docker-compose up -d 

如果不出意味的话我们的服务应该是启动了

第五步:验证服务

出现如下登录弹框:

_20240324212122.jpg

#默认用户名 elastic
用户名:elastic
# 密码为我们在docker-compose.yml 中配置的环境变量ELASTIC_PASSWORD的值
密码:your password

登录之后出现如下信息则说明我们的服务已经正常启动了

_20240324212130.jpg

到此,我们的部署就结束了,后期我们在使用的过程中有啥理解之后再分享。

总结

通过本文的介绍,我们了解了 Elasticsearch Docker Compose 部署的基本步骤。Elasticsearch 作为一款强大的搜索和分析引擎,为我们处理海量数据提供了便利,在实际项目中具有广泛的应用前景。当然我们在学习环境中可以通过docker 快速部署,在实际的生产环境中,还是建议谨慎使用docker部署生产环境。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
4天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
144 91
|
5天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
19天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
12天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
71 44
|
11天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
82 42
|
3天前
|
消息中间件 Kafka Docker
docker compose 安装 kafka
通过本文的步骤,您可以快速在本地使用 Docker Compose 安装并配置 Kafka 和 Zookeeper。Docker Compose 简化了多容器应用的管理,方便快速搭建和测试分布式系统。
26 2
|
1月前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用
85 27
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
58 23
|
23天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
1月前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用。掌握这些Docker基础概念和操作,可以显著提高开发和部署效率,确保应用程序的可移植性和可扩展性。
74 22
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等