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

最近面试竞争日益激烈,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

lua 复制代码
docker network create elastic

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

bash 复制代码
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2

第二步:创建docker-compose.yml

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

docker-compose.yml

yaml 复制代码
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,赋予读写权限

bash 复制代码
chmod -R 777 ./es

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

yaml 复制代码
# 配置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 

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

第五步:验证服务

我们在浏览器中访问:http://192.168.10.172:9200,出现如下登录弹框:

_20240324212122.jpg

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

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

_20240324212130.jpg

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

总结

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

相关推荐
码农派大星。26 分钟前
Spring Boot 配置文件
java·spring boot·后端
杜杜的man1 小时前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*1 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
llllinuuu1 小时前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s1 小时前
Golang--协程和管道
开发语言·后端·golang
为什么这亚子1 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
想进大厂的小王1 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
customer082 小时前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
2402_857589362 小时前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
一只爱打拳的程序猿2 小时前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring